背景:使用官网方法部署k3s之后,默认使用的是containerd作为容器运行环境,使用的是海外的镜像仓库
解决办法:
参考官方git:link

1、拷贝配置文件,原文件不要删除

cp /var/lib/rancher/k3s/agent/etc/containerd/config.toml /var/lib/rancher/k3s/agent/etc/containerd/config.toml.tmpl

2、修改配置文件

/var/lib/rancher/k3s/agent/etc/containerd/config.toml.tmpl最后增加以下配置

[plugins.cri.registry.mirrors]
  [plugins.cri.registry.mirrors."docker.io"]
    endpoint = ["https://vcw3fe1o.mirror.aliyuncs.com"] #镜像加速地址

3、重启k3s使配置生效

systemctl restart k3s

#检查配置是否生效
[root@k3s-node1 ~]# crictl info|grep  -A 5 registry 
    "registry": {
      "mirrors": {
        "docker.io": {
          "endpoint": [
            "https://vcw3fe1o.mirror.aliyuncs.com"

其他命令:

  • crictl images list 列出镜像
  • crictl ps 查看运行中的容器

其他配置方法,未验证

cat /etc/rancher/k3s/registries.yaml 
---
mirrors:
  docker.example.com:
    endpoint:
      - "https://docker.example.com"
  docker.io:
    endpoint:
      - "https://7bezldxe.mirror.aliyuncs.com/"
configs:
  "docker.example.com":
    tls:
      cert_file: /etc/containerd/tls.crt
      key_file:  /etc/containerd/tls.key
      ca_file: /etc/containerd/cacerts.pem
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐