harbor私有仓库配置到k8s里面

harbor私有仓库配置到k8s里面

vim kevin-registry-secret.yaml将以下内容复制到文件中

apiVersion: v1
kind: Secret
metadata:
  name: kevin-registry-secret
type: kubernetes.io/dockerconfigjson
data:
  .dockerconfigjson: <base64编码的docker配置信息>

生成base64编码的docker配置信息

[root@k8s-master ~]# echo '{"auths":{"192.168.81.141:45678":{"username":"admin","password":"123"}}}' | base64
eyJhdXRocyI6eyIxOTIuMTY4LjgxLjE0MTo0NTY3OCI6eyJ1c2VybmFtZSI6ImFkbWluIiwicGFz
c3dvcmQiOiIxMjMifX19Cg==
[root@k8s-master ~]# 

生成secret对应的pod

[root@k8s-master ~]# kubectl apply -f kevin-registry-secret.yaml 
[root@k8s-master ~]# kubectl get secret 
NAME                    TYPE                             DATA   AGE
kevin-registry-secret   kubernetes.io/dockerconfigjson   1      83s
[root@k8s-master ~]# 
[root@master ~]# kubectl get secret -A
NAMESPACE     NAME                     TYPE                             DATA   AGE
default       kevin-registry-secret    kubernetes.io/dockerconfigjson   1      99s
[root@master ~]# 

在新的Pod定义中,引用这个Secret作为imagePullSecrets

apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  containers:
  - name: my-container
    image: myregistry.com/myimage
    
  # 这是新增的内容  
  imagePullSecrets:
  - name: kevin-registry-secret
### 集成Harbor私有仓库Kubernetes及Containerd #### 准备工作 为了使Kubernetes集群能够拉取来自Harbor私有镜像仓库的镜像,需先创建一个Docker Registry Secret对象。此Secret用于存储访问Harbor所需的认证信息[^1]。 ```bash kubectl create secret docker-registry regcred \ --docker-server=<harbor-url> \ --docker-username=<your-name> \ --docker-password=<your-pword> ``` 上述命令中`<harbor-url>`应替换为实际部署Harbor服务的URL地址;而`<your-name>`和`<your-pword>`则分别为登录Harbor所使用的用户名及其对应的密码。 #### 修改Pod配置文件 当定义Pod资源清单时,在`.spec.imagePullSecrets[]`字段下指定之前创建好的secret名称,以便于kubelet可以利用该凭证去连接至Harbor并下载所需镜像: ```yaml apiVersion: v1 kind: Pod metadata: name: mypod spec: containers: - name: nginx image: harbor.example.com/library/nginx:latest imagePullSecrets: - name: regcred ``` 此处需要注意的是image路径前缀部分应当指向已设置完毕的Harbor实例位置。 #### Containerd配置调整 对于采用containerd作为CRI(Container Runtime Interface)插件运行环境下的节点而言,则还需要进一步编辑其全局配置文件(`/etc/containerd/config.toml`)来添加必要的镜像端点映射规则: ```toml [plugins."io.containerd.grpc.v1.cri".registry.mirrors] [plugins."io.containerd.grpc.v1.cri".registry.mirrors.<harbor-url>] endpoint = ["https://<harbor-url>"] ``` 完成以上更改之后记得重启containerd守护进程以确保新的设定生效。 #### 测试验证 最后可以通过部署测试性的Deployment或Job任务来进行最终的功能检验,确认整个流程无误后即表示成功实现了两者的对接操作。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半山猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值