containerd:配置https私有镜像仓库的最新方法

随着containerd应用越来越广泛,我们必须紧跟官网的节奏。

之前配置https私有镜像仓库的方法比较繁琐,并且不易梳理,下边介绍一下目前最新的配置方法。

配置https私有镜像仓库

我假设你现在已经有私有仓库并且是https

再假设你的harbor域名是harbor.example.cn

你只需要在/etc/containerd/config.toml中配置一下证书的路径:

bash 复制代码
...
    [plugins."io.containerd.grpc.v1.cri".registry]
      config_path = "/etc/containerd/certs.d"
...

然后创建对应的目录及文件

bash 复制代码
mkdir -p /etc/containerd/certs.d/harbor.example.cn

cat > hosts.toml << EOF
server = "https://harbor.example.cn"

[host."https://harbor.example.cn"]
  capabilities = ["pull", "resolve", "push"]
  skip_verify = true
EOF

skip_verify = true 表示跳过TLS的验证,如果想要更安全一些就将它修改为false,上传证书并指定路径

bash 复制代码
[root@anilis-k8s-03 harbor.example.cn]# ls
ca.crt  harbor.example.cn.crt  harbor.example.cn.key

修改配置:

bash 复制代码
cat > hosts.toml << EOF
server = "https://harbor.example.cn"

[host."https://harbor.example.cn"]
  capabilities = ["pull", "resolve", "push"]
  skip_verify = false
  ca = "ca.crt"
EOF

最后重启containerd

bash 复制代码
systemctl restart containerd.service

再次拉取镜像,都可以正常访问了!

如果你还有其他域名需要加,那就创建对应的目录就可以了!

参考官网

containerd:
https://github.com/containerd/containerd/blob/main/docs/cri/config.md
https://github.com/containerd/containerd/blob/main/docs/hosts.md

harbor自签证书:
https://goharbor.io/docs/2.11.0/install-config/configure-https/

相关推荐
老糊涂Lion7 天前
向harbor中上传镜像(向harbor上传image)
linux·docker·containerd·harbor
风尘浪子9 天前
DevOps 企业级 CI/CD 实战 —— 整合 GitLab+Jenkins+Harbor+Docker 实现代码全自动化流程管理
ci/cd·docker·pipeline·gitlab·jenkins·harbor·devops·sshpublish
gs801401 个月前
替换 Docker.io 的 Harbor 安全部署指南:域名与 IP 双支持的镜像管理解决方案
docker·harbor
胡八一1 个月前
解决/var/lib/docker(默认的 Docker 数据目录)占用较大,并且所在磁盘空间不足
docker·harbor
warrah1 个月前
生产环境迁移——harbor篇
harbor
Echo flower1 个月前
jenkins harbor安装
云原生·harbor
听说唐僧不吃肉2 个月前
一文了解containerd与docker的区别
docker·containerd
秋意零2 个月前
Harbor安装、HTTPS配置、修改端口后不可访问?
运维·云计算·harbor·harbor相关
树下一少年2 个月前
k8s运行运行pod报错超出文件描述符表限制
linux·容器·kubernetes·containerd·limit.conf