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

本文介绍了如何通过HOSTS方式配置Containerd,使其能够与Harbor进行对接。这种方式适用于ctr和nerdctl,即使它们不读取CRI配置中的证书参数。主要步骤包括创建hosts.toml文件,存放证书的目录必须与Harbor域名一致,并在config.toml中配置证书路径。提供了忽略证书和带有证书两种配置方法,通过修改hosts.toml文件的skip_verify和ca字段来实现。最后,重启containerd服务以使配置生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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"]

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值