AI 文章摘要
一、场景描述
一般
但是现在有一个问题,就是我们的K8s容器运行时,从Docker转移至Containerd运行时如何对接自签名证书的Harbor仓库?
二、操作过程
1、HOSTS方式对接
- 直接在confi
文章来源(Source):https://dqzboy.com g.toml中配置相关的证书参数对于Containerd默认使用的ctr是不生效的,因为ctr不使用CRI,因此它不读取配置plugins."io.containerd.grpc.v1.cri中配置的认证内容 - 但是我们可以使用Containerd支持的hosts方式去进行配置,可以实现ctr和nerdctl去对接Harbor
官方配置示例:https://github.com/containerd/containerd/pull/5309/files
首先我们需要创建hosts.toml文件或者证书文件存储的目录,注意这个创建的目录名称必须是Harbor的域名(如果不是则报x509);然后将证书文件或者hosts.toml文件放入该目录下才会生效
mkdir -p /etc/containerd/certs.d/harbor.devops.com/
2、修改config.toml配置
- 找到 [plugins.”io.containerd.grpc.v1.cri”.registry]下的
config_path,然后指定证书存储目录
# vim /etc/containerd/config.toml
3、重启contained服务
systemctl restart containerd
4、HOSTS认证方式
方式1:忽略证书
- 忽略证书,就是我们只需要在
/etc/containerd/certs.d/harbor.devops.com/目录下面创建hosts.toml文件即可,不需要Harbor认证的自签名证书
]# vim /etc/containerd/certs.d/harbor.devops.com/hosts.toml
[host."https://harbor.devops.com"]
capabilities = ["pull", "resolve","push"]
skip_verify = true
#不需要重启服务,我们直接通过ctr跟nerdctl命令进行验证
~]# nerdctl login harbor.devops.com
方式2:带有证书
- 现在我们需要把自签名Harbor域名的CA证书上传到
/etc/containerd/certs.d/harbor.devops.com/目录下 - 在该目录下创建
hosts.toml文件并指定CA证书
~]# vim /etc/containerd/certs.d/harbor.devops.com/hosts.toml
[host."https://harbor.devops.com"]
capabilities = ["pull", "resolve","push"]
ca = ["ca.crt"]
今天文章就先到这吧,溜了溜了~~~ 如果文章对你有帮助就动动你那发财的小手,点个赞留个言,给本站加点热度。谢谢支持!




必须 注册 为本站用户, 登录 后才可以发表评论!