暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

优化容器体验:运行时的镜像加速配置全攻略(下)

Linux运维智行录 2024-07-29
23

上一篇公众号分享docker作为运行时配置拉取镜像加速,本篇配置containerd的拉取镜像加速以及验证。


远航的container示图


01
镜像加速对照表
仓库名称\仓库地址镜像仓库地址加速地址
docker官方仓库docker.io

dockerhub.icu
docker.hlyun.org

Google k8s镜像仓库(新)registry.k8s.io 

k8s.chenby.cn

Google k8s镜像仓库(旧)k8s.gcr.io

k8s.chenby.cn

Goole 相关镜像gcr.io

gcr.chenby.cn

RedHat企业级镜像仓库quay.io

quay.chenby.cn

Github镜像仓库ghcr.io

ghcr.chenby.cn

Tip:以上的信息都是在2024-07-28收集到有效加速地址


02
配置步骤

containerd 一般是使用到 ctr , crictl , nerdctl 三个命令。这里分别讨论三个命令镜像加速配置与使用



crictl


1、确认containerd服务是否有配置registry配置路径

$ sudo grep config_path `ps -ef | grep "[c]ontainerd " | awk '{print $NF}'
      config_path = "/etc/containerd/certs.d"

Tip如果没有设置该参数,建议配置上并且重启containerd服务。如果配置文件的plugins."io.containerd.grpc.v1.cri".registry配置项下有其他的参数的话,需要删掉重启,否则会重启失败。

2、镜像仓库配置加速地址

docker.io仓库示例

$ sudo mkdir -p /etc/containerd/certs.d/docker.io
$ cat <<'EOF' | sudo tee /etc/containerd/certs.d/docker.io/hosts.toml > /dev/null
server = "https://docker.io"
[host."https://dockerhub.icu"]
  capabilities = ["pull""resolve","push"]

[host."https://docker.hlyun.org"]
  capabilities = ["pull""resolve","push"]
EOF


registry.k8s.io仓库示例

$ sudo mkdir -p /etc/containerd/certs.d/registry.k8s.io
$ cat <<'EOF' | sudo tee /etc/containerd/certs.d/registry.k8s.io/hosts.toml > /dev/null
server = "https://registry.k8s.io"
[host."https://k8s.chenby.cn"]
  capabilities = ["pull""resolve"]
EOF




ctr


配置文件、目录结构与 crictl 命令配置一致,ctr 命令仍是 未生效 加速地址拉起镜像。


解决方法 :ctr 命令拉起镜像添加 --hosts-dir 可以实现到拉取镜像加速。

示例:ctr --debug image pull registry.k8s.io/pause:3.9 --hosts-dir etc/containerd/certs.d



nerdctl

配置文件、目录结构与 crictl 命令配置一致

Tip:配置路径只能 是/etc/containerd/certs.d目录下


03
验证镜像加速地址生效

ctr命令验证


nerdctl命令验证


04
结语

通过上述步骤,你可以显著提高Containerd在拉取镜像时的速度,这不仅能够节省时间,还能提升开发和运维效率。记住,选择一个稳定且快速的镜像加速器对于整个容器化流程的顺畅运行至关重要。


别忘了,关注我们的公众号,获取更多关于容器技术和云原生领域的深度洞察和技术实战,让我们一起探索容器技术的无限可能!

END

文章转载自Linux运维智行录,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论