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