部署kubernetes-v1.24.2,使用kubeadm初始化集群时报错,无法初始化成功。

问题:在使用kubeadm init初始化k8s集群时,总是有错误。请朋友们帮忙解决一下。

img


如上是错误截图

环境:使用VMWare虚拟的5台虚拟机。
配置:2C4G。
系统版本:CentOS-7.6。
内核版本:3.10.0-957.el7.x86_64。
docker版本:20.10.17。
k8s版本:v1.24.2。

docker状态:

img

docker的驱动类型:

img

k8s镜像:

img


所有镜像都是从外网的云主机上通过docker pull拉取下来的,然后通过docker load导入进去的,而没有使用国内阿里云的谷歌镜像仓库。

由于k8s在1.24版本中去掉了docker shim,所以需要安装cri-dockerd。
cri-dockerd状态:

img


cri-dockerd的安装包我在github上找的rpm包,没有使用二进制包,为了安装简便。

img

使用kubeadm初始化命令初始化集群:

img

我在/var/log/message里面截取了一段日志:

img


不知道这段日志能不能反应出报错的具体问题。

生成配置文件初始化也不行。错误和上面的错误一样。什么方法都试过了。根据网上找的各种方法都试过了,还是不行
烦请朋友们帮忙解决一下。万分感谢!

我帮你一步一步部署吧

1.先看 kubelet 有没有报错
2.如果用到了 cri-dockerd ,需要确认 kubelet 的启动参数里面是否有修改,需要增加 --container-runtime=remote --container-runtime-endpoint=/var/run/cri-dockerd.sock 这两个参数
因为 kubelet 默认使用的 container runtime 是用的 /var/run/docker,我看你版本是 1.24.2 的,官网是说 1.24 版本取消 docker-shim,用 cri-dockerd 来替代的,所以,需要修改 kubelet 的启动参数