我想知道是否有一种方法可以调试并查看“等待控制平面准备就绪” Kubeadm init 挂起的位置。 kubeadm 的任何 -verbose 参数? 其他一些日志文件或推荐的调试选项?
我正在运行 Ubuntu 16.04 - 但我正在尝试从 docker 容器中运行 kubeadm。 在我的主机上它正在工作。
我主要是打开另一个 shell 并运行docker ps
和/或journalctl -xeu kubelet
很难做一个多合一的调试解决方案,因为信息太多,我们基本上都在等待事情发生(例如,尽管一切正常,但互联网连接缓慢可能会花费很长时间)
你有什么应该包括的建议吗?
谢谢,我设法通过了“等待控制平面准备就绪”,您建议的标准调试选项就足够了。
运行journalctl -xeu kubelet
然后查看日志
'error: failed to run Kubelet: failed to create kubelet: misconfiguration: kubelet cgroup driver: "systemd" is different from docker cgroup driver: "cgroupfs
systemd[1]: kubelet.service: 主进程退出,代码=退出,状态=1/FAILURE
systemd[1]:单元 kubelet.service 进入失败状态。
systemd[1]: kubelet.service 失败。
kubelet 的 cgroup 驱动程序与 docker 的 cgroup 驱动程序不同,所以我更新了 systemd -> cgroupfs。
vi /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
将KUBELET_CGROUP_ARGS=--cgroup-driver=systemd
更新KUBELET_CGROUP_ARGS=--cgroup-driver=cgroupfs
重启 kubelet
运行“服务 kubelet 重启”
一切正常
@heartarea欣赏你的脚步。 他们工作得很好。
此外,我们需要将此更改应用于主节点以外的其他节点,以便它们能够加入集群。
这是一个错误吗? 为什么没有按照你的建议设置?
最有用的评论
运行
journalctl -xeu kubelet
然后查看日志'error: failed to run Kubelet: failed to create kubelet: misconfiguration: kubelet cgroup driver: "systemd" is different from docker cgroup driver: "cgroupfs
systemd[1]: kubelet.service: 主进程退出,代码=退出,状态=1/FAILURE
systemd[1]:单元 kubelet.service 进入失败状态。
systemd[1]: kubelet.service 失败。
kubelet 的 cgroup 驱动程序与 docker 的 cgroup 驱动程序不同,所以我更新了 systemd -> cgroupfs。
vi /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
将
KUBELET_CGROUP_ARGS=--cgroup-driver=systemd
更新KUBELET_CGROUP_ARGS=--cgroup-driver=cgroupfs
重启 kubelet
运行“服务 kubelet 重启”
一切正常