Containerd对接自签名harbor —— 筑梦之路

HOSTS方式对接

 直接在config.toml中配置相关的证书参数对于Containerd默认使用的ctr是不生效的因为ctr不使用CRI;

因此它不读取配置中【plugins."io.containerd.grpc.v1.cri】配置的认证内容

我们可以使用Containerd支持的hosts方式去进行配置,可以实现ctr和nerdctl去对接Harbor

创建hosts.toml文件或者证书文件存储的目录,注意这个创建的目录名称必须是Harbor的域名(如果不是则报x509);然后将证书文件或者hosts.toml文件放入该目录下才会生效

mkdir -p /etc/containerd/certs.d/harbor.codemiracle.com/

修改config.toml配置

找到[plugins."io.containerd.grpc.v1.cri".registry]下的config_path,然后指定证书存储目录

vim /etc/containerd/config.toml

重启contained服务

systemctl restart containerd

HOSTS认证方式 

方式1:忽略证书

忽略证书,就是我们只需要在/etc/containerd/certs.d/harbor.codemiracle.com/目录下面创建hosts.toml文件即可,不需要Harbor认证的自签名证书

vim /etc/containerd/certs.d/harbor.codemiracle.com/hosts.toml

[host."https://harbor.codemiracle.com"]
  capabilities = ["pull", "resolve","push"]
  skip_verify = true

#不需要重启服务,我们直接通过ctr跟nerdctl命令进行验证

方式2:带有证书

现在我们需要把自签名Harbor域名的CA证书上传到/etc/containerd/certs.d/harbor.codemiracle.com/目录下

在该目录下创建hosts.toml文件并指定CA证书 

vim /etc/containerd/certs.d/harbor.codemiracle.com/hosts.toml

[host."https://harbor.codemiracle.com"]
  capabilities = ["pull", "resolve","push"]
  ca = ["ca.crt"]

猜你喜欢

转载自blog.csdn.net/qq_34777982/article/details/126445079
今日推荐