k8s中使用harbor
参考地址:https://www.cnblogs.com/wayneiscoming/p/7716238.html 、在harbor的ui界面上注册一个账号 姓名:zihao 全名:zhuzihao 密码:Zihao@5tgb 邮箱:@.com 、在需要下载镜像的机器上,同样需要修改docker进程参数(跟上传镜像到私有仓库一样操作进行修改)
在node节点配置:
[root@reg harbor]# vi /etc/docker/daemon.json
{ "registry-mirrors": ["https://wb2g6zxl.mirror.aliyuncs.com"],"insecure-registries": ["192.168.43.65:5000"]} [root@reg harbor]# systemctl restart docker 、在node节点验证登录harbor主机 [root@lab2 ~]# docker login 192.168.43.65:
Username (zihao): zihao
Password:
Login Succeeded
[root@lab2 ~]# docker logout
Not logged in to https://index.docker.io/v1/ 、配置私有仓库harbor的secret 在harbor这台上先登录,输入docker login登陆成功后,会在 /root/.docker/ 目标下生成一个 config.json 文件 [root@reg harbor]# docker login 192.168.43.65:
Username (admin): admin
Password:
Login Succeeded
[root@reg harbor]# ls /root/.docker/
config.json
[root@reg harbor]# cat /root/.docker/config.json
{
"auths": {
"192.168.43.65:5000": {
"auth": "YWRtaW46SGFyYm9yMTIzNDU="
},
"wb2g6zxl.mirror.aliyuncs.com": {
"auth": "YWRtaW46SGFyYm9yMTIzNDU="
}
}
} 创建secret 准备: kubectl create secret docker-registry registry-secret --namespace=default \
--docker-server=192.168.43.65: --docker-username=zihao \
--docker-password=Zihao@5tgb --docker-email=@.com 创建: [root@lab2 nginx-harbor]# kubectl create secret docker-registry registry-secret --namespace=default \
> --docker-server=192.168.43.65: --docker-username=zihao \
> --docker-password=Zihao@5tgb --docker-email=@.com 查看secret [root@lab2 nginx-harbor]# kubectl get secret
NAME TYPE DATA AGE
default-token-czfbg kubernetes.io/service-account-token 21d
registry-secret kubernetes.io/dockerconfigjson 1h 删除secret [root@lab2 nginx-harbor]# kubectl delete secret registry-secret
secret "registry-secret" deleted 、在k8s的node节点中使用yaml拉取镜像 注意: image不要写成 http:// 这样无法拉取镜像 下面两句不写也可以 imagePullSecrets:
- name: registry-secret spec:
hostNetwork: true
dnsPolicy: ClusterFirstWithHostNet
containers:
- name: http-test-con
image: 192.168.43.65:/library/nginx/latest:latest
imagePullPolicy: Always
ports:
- containerPort:
imagePullSecrets:
- name: registry-secret 测试: [root@lab2 nginx-harbor]# vi http-test.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: http-test-dm2
spec:
replicas:
template:
metadata:
labels:
name: http-test-dm2
spec:
hostNetwork: true
dnsPolicy: ClusterFirstWithHostNet
containers:
- name: http-test-con
image: 192.168.43.65:/library/nginx/latest:latest
imagePullPolicy: Always
ports:
- containerPort:
---
apiVersion: v1
kind: Service
metadata:
name: http-nginx-ser
spec:
type: NodePort
ports:
- port:
nodePort:
targetPort:
selector:
name: http-test-dm2
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: grafana
spec:
rules:
- host: www.nginx2.com
http:
paths:
- path: /
backend:
serviceName: http-nginx-ser
servicePort: [root@lab2 nginx-harbor]# kubectl create -f http-test.yaml
[root@lab2 nginx-harbor]# kubectl get po
NAME READY STATUS RESTARTS AGE
http-test-dm2-7f9c4fd896-jkkrx / Running 8m
k8s中使用harbor的更多相关文章
- 从harbor部署到在k8s中使用
一.概述 harbor是什么呢?英文单词的意思是:港湾.港湾用来存放集装箱(货物的),而docker的由来正是借鉴了集装箱的原理,所以harbor是用于存放docker的镜像,作为镜像仓库使用.官方的 ...
- 在kubernetes中搭建harbor,并利用MinIO对象存储保存镜像文件
前言:此文档是用来在线下环境harbor利用MinIO做镜像存储的,至于那些说OSS不香吗?或者单机harbor的,不用看了.此文档对你没啥用,如果是采用单机的harbor连接集群MinIO,请看我的 ...
- 新版的K8S中的flannel.yaml文件中要注意的细节
部署flannel作为k8s中的网络插件,yaml文件都大小同异. 但在要注意以下细节. 以前,只需要前面master判断. 现在也需要有not-ready状态了. tolerations: - ke ...
- 查看k8s中etcd数据
#查看etcd pod kubectl get pod -n kube-system | grep etcd #进入etcd pod kubectl exec -it -n kube-system e ...
- K8s中的网络
Kubernetes的网络通信问题: 1. 容器间通信: 即同一个Pod内多个容器间通信,通常使用loopback来实现. 2. Pod间通信: K8s要求,Pod和Pod之间通信必须使用Pod-IP ...
- 如何在K8S中优雅的使用私有镜像库 (Docker版)
前言 在企业落地 K8S 的过程中,私有镜像库 (专用镜像库) 必不可少,特别是在 Docker Hub 开始对免费用户限流之后, 越发的体现了搭建私有镜像库的重要性. 私有镜像库不但可以加速镜像的拉 ...
- k8s中部署springcloud
安装和配置数据存储仓库MySQL 1.MySQL简介 2.MySQL特点 3.安装和配置MySQL 4.在MySQL数据库导入数据 5.对MySQL数据库进行授权 1.MySQL简介 MySQL 是一 ...
- k8s中yaml文常见语法
在k8s中,所有的配置都是 json格式的.但为了读写方便,通常将这些配置写成yaml 格式,其运行的时候,还是会靠yaml引擎将其转化为json,apiserver 也仅接受json的数据类型. y ...
- Kubernetes集群搭建之企业级环境中基于Harbor搭建自己的私有仓库
搭建背景 企业环境中使用Docker环境,一般出于安全考虑,业务使用的镜像一般不会从第三方公共仓库下载.那么就要引出今天的主题 企业级环境中基于Harbor搭建自己的安全认证仓库 介绍 名称:Harb ...
随机推荐
- Powerful array CodeForces - 86D (莫队算法)
An array of positive integers a1, a2, ..., an is given. Let us consider its arbitrary subarray al, a ...
- 多态(Polymorphism)的实现机制
1. 我理解的广义的 override 是指抛开各种访问权限,子类重定义(redefine)父类的函数(即函数签名相同). 2. C++中的三个所谓的原则:never redefine base cl ...
- fixed固定时弹窗上的input被软键盘遮住的问题
<div class="pwhCover"> <div class="pwhCon"> <div class="pwhT ...
- html中删除表格的一行(有弹窗)
html中删除表格一行其实很简单,但是加上一个提示弹窗后,点击确定后却获取不到要删除的是哪一行,下面是一个demo html: <tr> <td> <input type ...
- 一个python生成器的使用
def myegg(retlist): for i in retlist: rec = yield i mydict = [ {}, {}, {}, ] b = myegg(mydict) obj = ...
- vue自定义指令,自动调用下载的方法
directives: { clickDown: { inserted (el, binding, item) { if (+binding.value.item.fromId === +item.c ...
- 【leetcode】1234. Replace the Substring for Balanced String
题目如下: You are given a string containing only 4 kinds of characters 'Q', 'W', 'E' and 'R'. A string i ...
- netfromwork4.5 迁移到netcore 遇到踩坑
https://weblogs.asp.net/ricardoperes/using-mef-in-net-core 可以用https://www.bbsmax.com/A/xl56bpv45r/ 里 ...
- C# 输出双引号
Response.Write("前一页面的标题是:\"" +Page.PreviousPage.Title.ToString()+"\"") ...
- JAVA大文件上传断点续传解决方案
javaweb上传文件 上传文件的jsp中的部分 上传文件同样可以使用form表单向后端发请求,也可以使用 ajax向后端发请求 1.通过form表单向后端发送请求 <form id=" ...