kubernetes 和 Containerd版本信息如下:

[root@bastion ~]# containerd --version

containerd containerd.io 1.7.27 05044ec0a9a75232cad458027ca83437aae3f4da

[root@bastion ~]#


 

[root@bastion ~]# kubectl get nodes

NAME STATUS ROLES AGE VERSION

master01.kcloud.com Ready control-plane 16h v1.31.0

worker01.kcloud.com Ready <none> 16h v1.31.0

worker02.kcloud.com Ready <none> 16h v1.31.0

worker03.kcloud.com Ready <none> 16h v1.31.0

[root@bastion ~]#

集群所有机器都采用了DNS 。


 

在所有的kubernetes集群节点


 

_1、创建 Containerd 的证书目录并复制证书

Containerd 默认会信任 /etc/containerd/certs.d/ 目录下特定子目录中的证书。


 


 

# 在每个节点上执行

# 1. 创建对应于你 Harbor 仓库端口(通常是 443)的目录结构

# 格式:/etc/containerd/certs.d/<host>:<port>/ca.crt

sudo mkdir -p /etc/containerd/certs.d/<your-harbor-domain>:<port>/


 

# 例如,如果你的 Harbor 域名是 harbor.example.com,端口是 443:

sudo mkdir -p /etc/containerd/certs.d/harbor.example.com:443/


 

# 如果你的 Harbor 用了其他端口(例如 8443),则目录名为 harbor.example.com:8443


 


 

_2、把harbor CA 证书(根证书 ca.crt )传输到上面创建的目录下,命名为 ca.crt。

比如/etc/containerd/certs.d/bastion.kcloud.com:9443/目录下


harbor自签证书列表如下:

[root@bastion harbor-certificate]# ls -l
total 32
-rw-r--r-- 1 root root 2175 Sep  2 17:45 bastion.kcloud.com.cert
-rw-r--r-- 1 root root 2175 Sep  2 17:45 bastion.kcloud.com.crt
-rw-r--r-- 1 root root 1712 Sep  2 17:45 bastion.kcloud.com.csr
-rw------- 1 root root 3272 Sep  2 17:45 bastion.kcloud.com.key
-rw-r--r-- 1 root root 2065 Sep  2 17:45 ca.crt
-rw------- 1 root root 3272 Sep  2 17:45 ca.key
-rw-r--r-- 1 root root   41 Sep  2 17:45 ca.srl
-rw-r--r-- 1 root root  268 Sep  2 17:45 v3.ext
[root@bastion harbor-certificate]# 


 

_3、编辑/etc/containerd/config.toml文件,如下所示:

[plugins."io.containerd.grpc.v1.cri".registry]

config_path = ""


 

[plugins."io.containerd.grpc.v1.cri".registry.auths]


 

[plugins."io.containerd.grpc.v1.cri".registry.configs]

[plugins."io.containerd.grpc.v1.cri".registry.configs."bastion.kcloud.com:9443".tls]

ca_file = "/etc/containerd/certs.d/bastion.kcloud.com:9443/ca.crt"

# 如果 Harbor 使用自签名证书,可能需要设置 insecure_skip_verify = true

#insecure_skip_verify = true


 

[plugins."io.containerd.grpc.v1.cri".registry.headers]


 

[plugins."io.containerd.grpc.v1.cri".registry.mirrors]


 


 


 

_4、重启containerd

systemctl restart containerd


 


 

_5、测试拉取镜像


 

[root@worker01 ~]# crictl pull bastion.kcloud.com:9443/business/nfs-subdir-external-provisioner:v4.0.2

Image is up to date for sha256:932b0bface75b80e713245d7c2ce8c44b7e127c075bd2d27281a16677c8efef3

[root@worker01 ~]# #


 

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐