使用Kind创建k8s机器失败与解决方案
用Kind在一台物理机上部署K8s,报错后查到容器中缺少了/dev/kmsg的解决方案
·
报错提示:
安装k8s与kind之后运行
kind create cluster
出现报错
报错截图:
报错解析:
报错中提到在容器(节点)中运行kubeadm init出错显示kubelet运行不健康。
解决路线:
首先在CSDN上搜了一下,发现一个博主跟我的问题很像:链接,虽然我和他的错误不同,但是他的解题思路给我很大的启发。
- 首先运行命令
kind create cluster
- 再开另一个终端,运行命令
docker ps
找到报错节点kind-control-plane所在的容器ID为b9f20b3b1c89
- 通过命令
docker exec -it b9f20b3b1c89 /bin/bash
进入到容器内部查明原因
- 在容器内部运行命令
systemctl status kubelet
发现没有kubelet服务没有激活
-
接着运行journalctl -xeu kubelet发现问题
缺少了/dev/kmsg
于是我顺着这个线索在github上找到了有人跟我遇到了同一个问题github
我顺着他的解题思路在容器中使用命令ln -s /dev/console /dev/kmsg完美解决
解题总结:
一行命令
docker exec -it {这里放kind启动的所有容器ID} ln -s /dev/console /dev/kmsg
要记得所有容器都要运行这条命令,不然还是会报错
更多推荐
已为社区贡献1条内容
所有评论(0)