云其它

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > 云其它 > 新版k8s拉取镜像失败

新版k8s拉取镜像失败问题解决办法

作者:风霜不见闲沉月

随着Kubernetes 1.23版本的发布,Docker作为默认容器运行时被弃用,转而默认采用Containerd,这一改变意味着用户在使用Kubernetes时,将不再通过Docker来拉取镜像,文中jiang,需要的朋友可以参考下

前言

新版从k8s从1.23后放弃使用docker容器作为的默认运行时了,而是采用的containerd,使用时不在使用docker拉取镜像,这就带来了一系列的问题。在k8s1.24之后用户可以选择docker或者选择contained作为容器运行时,如果不指定使用的docker如果使用 containerd可以用一下命令初始环境,下载镜像都有containerd管理,自带管理工具tar和k8s提供crictl,前提是指定了容器作为运行时才提供,使用docker是不具有crictl功能。

./kk create cluster --with-kubernetes v1.24.1 --container-manager containerd

解决镜像拉取问题(原因外网屏蔽拉取不到使用国内加速器)

contained的配置文件在/etc/containerd/config.toml

... 
  [plugins."io.containerd.grpc.v1.cri".registry]
      config_path = ""

      [plugins."io.containerd.grpc.v1.cri".registry.auths]

      [plugins."io.containerd.grpc.v1.cri".registry.configs]

      [plugins."io.containerd.grpc.v1.cri".registry.headers]

      [plugins."io.containerd.grpc.v1.cri".registry.mirrors]

      [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
       endpoint = ["https://teut9a0h.mirror.aliyuncs.com"]
      [plugins."io.containerd.grpc.v1.cri".registry.mirrors."k8s.gcr.io"]
        endpoint = ["registry.aliyuncs.com/google_containers"]

    [plugins."io.containerd.grpc.v1.cri".x509_key_pair_streaming]
      tls_cert_file = ""
      tls_key_file = ""
   ...

解决devops安装失败问题。

查看安装器配置文件(devops已经关闭)

kubectl edit cc ks-installer -n kubesphere-system

找到如上registry的配置部分,加上阿里云的镜像加速配置。重启containerd

systemctl daemon-reload
systemctl restart containerd

镜像拉取(区别于docker,k8s中带crictl)

ctr image  pull docker.io/jenkins/jenkins:lts (注意带上镜像的来源不带上面的配置文件见也要配置上,ctr是contained自带的镜像管理工具)

Docker谁然没有被k8s新版本使用了,单本质上是相互兼容的新版本可以修改会docker,或者直接使用默认都可,docker可以用来搜索拉取导入镜像到contrained中相互互助。

总结

到此这篇关于新版k8s拉取镜像失败问题解决办法的文章就介绍到这了,更多相关新版k8s拉取镜像失败内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文