配置 containerd

编辑 /etc/containerd/config.toml 文件:

      [plugins."io.containerd.grpc.v1.cri".registry.configs]
        # 内部私有仓库认证信息
          [plugins."io.containerd.grpc.v1.cri".registry.configs."registry.cn-shenzhen.aliyuncs.com".tls]
            insecure_skip_verify = true # 是否跳过证书认证
            # insecure_skip_verify = false # 是否跳过证书认证
            # ca_file = "/etc/containerd/www.myharbor.com/ca.crt"
          [plugins."io.containerd.grpc.v1.cri".registry.configs."registry.cn-shenzhen.aliyuncs.com".auth]
            username = "abc"
            password = "123456"

      [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
        # 内部私有仓库配置
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry.cn-shenzhen.aliyuncs.com"]
            endpoint = ["https://registry.cn-shenzhen.aliyuncs.com"]

注意:这个配置文件是给crictl和kubelet使用,ctr是不可以用这个配置文件的,ctr 不使用 CRI,因此它不读取plugins."io.containerd.grpc.v1.cri"配置。

重启 containerd:

systemctl restart containerd.service

拉取镜像

crictl

crictl  pull registry.cn-shenzhen.aliyuncs.com/demo/mysql:8.0

ctr 拉取镜像

ctr -n k8s.io image pull --user abc:123456 registry.cn-shenzhen.aliyuncs.com/demo/mysql:8.0

其中:

  • -n k8s.io指定命名空间,不是必须,根据环境而定
  • --user abc:123456 指定harbor用户名及密码