在k8s集群中,使用docker联动harbor并让k8s拉取harbor的私有镜像
·
前置条件介绍:
在k8s集群中,容器进行时选择containerd,通过helm部署了harbor,访问方式设置为Nodeport,关闭了TLS,注释了nodeport中https中相关内容。
docker+harbor做法:
1、关闭机器(虚拟机)的代理
2、给docker配置harbor的http地址,在/etc/docker/daemon.json文件(没有则新建此文件)中新增如下内容
{
"insecure-registries": ["core.harbor.domain:30002"]
}
3、配置下域名,在“/etc/hosts”文件中新增如下内容
# 因为我的harbor使用的是nodeport,所以我将我的master节点配置在此
192.168.1.155 core.harbor.domain
4、修改harbor-core的cm,使用命令“$ kubectl edit cm harbor-core -n harbor”,修改如下内容
找到:
EXT_ENDPOINT: https://core.harbor.domain
修改为:
EXT_ENDPOINT: http://core.harbor.domain:30002
5、重启harbor的core pod
$ kubectl delete pod harbor-core-xxx -n harbor
然后执行登录“$ sudo docker login core.harbor.domain:30002 -u admin -p Harbor12345”,提示login succeeded即代表登陆成功,可以进行docker pull、push。
k8s拉取harbor的私有仓库镜像做法:
编辑 containerd 配置:
sudo vim /etc/containerd/config.toml
找到:
[plugins."io.containerd.grpc.v1.cri".registry]
修改如下:

重启containerd
sudo systemctl daemon-reload
sudo systemctl restart containerd.service
更多推荐



所有评论(0)