首先需要创建两个目录
mkdir -p /etc/containerd/certs.d/docker.io
mkdir -p /etc/containerd/certs.d/registry.k8s.io
再在每个目录下创建.toml文件
touch /etc/containerd/certs.d/docker.io/hosts.toml
touch /etc/containerd/certs.d/registry.k8s.io/hosts.toml
将一下内容分别写入各自的文件
cat>/etc/containerd/certs.d/docker.io/hosts.toml<<EOF
server = "https://docker.io"
[host."https://docker.m.daocloud.io"]
capabilities = ["pull", "resolve"]
[host."https://dockerproxy.com/"]
capabilities = ["pull", "resolve"]
EOF
cat>/etc/containerd/certs.d/registry.k8s.io/hosts.toml<<EOF
server = "registry.k8s.io"
[host."k8s.m.daocloud.io"]
capabilities = ["pull", "resolve"]
EOF
细节部分
在默认目录中是没有certs.d以及后续文件的,都是需要自己创建。创建好后,还需要在/etc/containerd/config.toml 添加配置
vim /etc/containerd/config.toml

将certs.d的路径加入即可
此外,在执行拉取镜像前,还需留意/etc目录下是否有crictl.yaml文件,若是没有,则会出现一下告警

此时就需要创建
vim /etc/crictl.yaml
添加以下内容
runtime-endpoint: unix:///run/containerd/containerd.sock
image-endpoint: unix:///run/containerd/containerd.sock
timeout: 10
debug: false
重启containerd
systemctl daemon-reload & systemctl restart containerd.service
测试
crictl pull busybox
镜像可以正常拉取,告警结束。
0 条评论
发表评论需要 登录
还没有账号?立即注册