Kubenetes 1.31/Containerd 1.7.27 与采用自签证书harbor集成
如果你的 Harbor 用了其他端口(例如 8443),则目录名为 harbor.example.com:8443。比如/etc/containerd/certs.d/bastion.kcloud.com:9443/目录下。_2、把harbor CA 证书(根证书 ca.crt )传输到上面创建的目录下,命名为 ca.crt。# 格式:/etc/containerd/certs.d/<host>:
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 ~]# #
更多推荐
所有评论(0)