k8s初始化过程中,failed with error: Get “http://localhost:10248/healthz“

环境说明

服务器:Centos 7
Docker :20.10.12
kubeadm:v1.23.1
Kubernetes:v1.23.1

异常说明

Docker 和 k8s 相关组件都安装完毕后,执行 kubeadm init 初始化主节点时出现问题
执行语句

kubeadm init \
--apiserver-advertise-address=服务器IP \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version=v1.23.1 \
--pod-network-cidr=10.244.0.0/16 \
--service-cidr=10.96.0.0/12 

报错异常

[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get "http://localhost:10248/healthz": dial tcp 127.0.0.1:10248: connect: connection refused.

根据报错后续的提示,可使用 journalctl -xeu kubelet 或者 journalctl -xeu kubelet -l 查看详细错误信息,如果看得不全,可以直接用方向键左右调整错误信息。

这是

[root@k8s-node01 ~]# journalctl -xeu kubelet
Dec 24 20:24:13 k8s-node01 kubelet[9127]: I1224 20:24:13.456712    9127 cni.go:240] "Unable to update cni config" err="no 
Dec 24 20:24:13 k8s-node01 kubelet[9127]: I1224 20:24:13.476156    9127 docker_service.go:264] "Docker Info" dockerInfo=&{
Dec 24 20:24:13 k8s-node01 kubelet[9127]: E1224 20:24:13.476236    9127 server.go:302] "Failed to run kubelet" err="failed
Dec 24 20:24:13 k8s-node01 systemd[1]: kubelet.service: main process exited, code=exited, status=1/FAILURE
Dec 24 20:24:13 k8s-node01 systemd[1]: Unit kubelet.service entered failed state.
Dec 24 20:24:13 k8s-node01 systemd[1]: kubelet.service failed.

向右移动方向键,查看第四行详情,可得

ID:ZYIL:OO24:BWLY:DTTB:TDKT:D3MZ:YGJ4:3ZOU:7DDY:YYPQ:DPWM:ERFV Containers:0 ContainersRunning:0 ContainersPaused:0 Contain
 to run Kubelet: misconfiguration: kubelet cgroup driver: \"systemd\" is different from docker cgroup driver: \"cgroupfs\"

报错原因

其实根据上面的错误信息可知,是因为 k8s 和docker 的 cgroup driver 不一致导致的。
k8s 的是 systemd ,而 docker 是cgroupfs。
可以通过

docker info

查看其中的 Cgroup Driver: 显示的是 systemd 或者 cgroupfs。k8s 默认就是cgroupfs。
具体作用详情,可以参考 linux(centos):配置docker的cgroup driver为systemd

解决方法

修改docker的cgroup driver为systemd
编辑docker的配置文件,如果不存在就创建

vi /etc/docker/daemon.json

修改为内容如下:

{

“exec-opts”: [“native.cgroupdriver=systemd”]

}

然后重启 docker

systemctl restart docker 

重新 kubeadm init …

备注1:以上只是我个人在安装过程中遇到的问题,可能其他情况的原因不大相同,主要是需要查看报错日志详情,仅供参考。也有其他很优秀的文章,可供一并参考。
报错信息相似,但是原因不同的:

备注2:文章内引用内容,链接,如果有侵权,请联系删除

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值