k8s 1.25版本 容器运行时containerd基于harbor私有仓库拉取镜像

k8s集群

CONTAINER-RUNTIME 指定的k8s容器运行时contianerd的版本、

1:写hosts文件

harbor我已经提前搭建好了。

2:

在k8s集群的控制节点和工作节点都安装docker,用于做镜像 push到harbor

yum install docker-ce -y

安装docker可以参考docker-ce镜像_docker-ce下载地址_docker-ce安装教程-阿里巴巴开源镜像站 (aliyun.com)

3:

编写/etc/docker/daemon.json

registry-mirrors 中指定的都是一些镜像仓库地址

insecure-registries 指定的是harbor的地址和用户名

4:重启docker测试连接harbor

systemctl restart docker

登录harbor

docker login 192.168.8.170

harbor 默认账户名密码是admin  Harbor12345

显示Login Succeeded说明登录成功

5:测试推送拉取harbor仓库中的镜像

比如说推送一个nginx镜像,我们需要先拉取一个

docker pull  nginx

拉取下来之后docker images 查看一下

之后给镜像基于harbor ip地址打标签

/web/是harbor上面的项目名字 nginx:v2是镜像的名字和标签

之后push推送上去

docker push 

可以看到确实已经有了

标签也是正确的

6: 

创建deployment资源测试一下,从harbor拉取镜像创建pod

vim test.yaml

imagePullPolicy: Always  # 定义镜像拉取策略,Always 表示每次启动容器时都会尝试拉取最新镜像,这里我们指定的是harbor的镜像名称,他会根据ip地址寻找harbor从而拉取镜像
kubectl apply -f test.yaml

创建完成之后查看 kubectl get pods

查看详细信息  kubectl describe pod nginx-deploy-6fbf4d787-7rjzk 

可以看到确实是从harbor拉取的镜像从而创建的pod

猜你喜欢

转载自blog.csdn.net/weixin_63294004/article/details/142556102