k8s初始化过程中,failed with error: Get “http://localhost:10248/healthz“
k8s init 异常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:文章内引用内容,链接,如果有侵权,请联系删除
更多推荐
所有评论(0)