新版版从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中相互互助。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐