1、实验前提
部署完成的harbor仓库 正常运行的Kubernetes集群
如果还没有,可以参考我前面的文章来部署,然后再进行下面的操作
2、Harbor准备工作
2.1 创建 Harbor 项目
在harbor上创建私有仓库prod

2.2 推送镜像到Harbor仓库
# 从公网下载镜像docker pull docker.m.daocloud.io/nginx:1.26# 重新打标签,指向 Harbor 仓库docker tag docker.m.daocloud.io/nginx:1.26 harbor.liyb.com/prod/nginx:1.26# 登录 Harbor docker login harbor.liyb.com -u admin -p 输入密码#推送镜像docker pull harbor.liyb.com/prod/nginx:1.26
推送成功,在项目prod下面可以看到已经有一个镜像。
3 修改containerd配置文件
在每个节点配置 containerd 拉取镜像的认证信息
3.1 修改配置文件
修改 containerd 的配置文件,通常路径为 /etc/containerd/config.toml
# 修改前最好备份一下cp /etc/containerd/config.toml /etc/containerd/config.toml.bak# 编辑文件vi /etc/containerd/config.toml
[plugins."io.containerd.grpc.v1.cri".registry.mirrors] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"] endpoint = ["https://docker.rainbond.cc"] [plugins."io.containerd.grpc.v1.cri".registry.configs] [plugins."io.containerd.grpc.v1.cri".registry.configs."harbor.liyb.com".tls] insecure_skip_verify = true [plugins."io.containerd.grpc.v1.cri".registry.configs."harbor.liyb.com".auth] username = "admin" password = "Harbor12345"
或者使用 TLS 证书: 如果 Harbor 配置了自签名证书,添加信任的根证书:
[plugins."io.containerd.grpc.v1.cri".registry.configs."harbor.example.com".tls] ca_file = "/etc/containerd/certs/harbor-ca.crt"
如果证书未设置,可能需要将 insecure_skip_verify = true
临时关闭验证

保存文件后,重启 containerd 服务:
sudo systemctl restart containerd
3.2 其他节点做相同操作
# 将配置文件传输到其他节点[root@k8s-master]# scp config.toml root@10.0.0.101:/etc/containerd [root@k8s-master]# scp config.toml root@10.0.0.102:/etc/containerd # 通过master节点来重启其他节点的containerd[root@k8s-master]# ssh root@10.0.0.101 systemctl restart containerd[root@k8s-master ]# ssh root@10.0.0.102 systemctl restart containerd

3.3 每个节点添加hosts配置
cat >> /etc/hosts 10.0.0.103 harbor.liyb.comEOF
4 拉取镜像到K8S集群
4.1 拉取镜像
# 拉取镜像crictl pull harbor.liyb.com/prod/nginx:1.26# 查看crictl images
可以看到顺利将镜像拉下来了

【温馨提示】如果crictl命令无法执行,执行下面命令

crictl config --set runtime-endpoint=unix:///run/containerd/containerd.sock --set image-endpoint=unix:///run/containerd/containerd.sock
本文结束,后续继续分享
关注李哥,添加微信,备注:工作岗位+地点,可拉进技术交流群。
加入我们,一起交流探讨运维技术吧!!!