我在centos 7上配置了kubernetes master,在另一个节点centos 7上配置了kubernetes节点
在kube master上运行的服务:
在kube节点上运行的服务:
所有服务都已启动并运行,我可以看到api url成功获取所有端点。 http://kube-master:8080
但是,当我运行命令kube get nodes
时,出现以下错误:
skipping pod synchronization. container runtime is down
我没有得到此错误的含义以及如何解决此问题。请建议。
答案 0 :(得分:1)
kubelet
是唯一依赖于容器运行时的组件(在您的情况下是Docker)。如果我是你,我会开始调查kubelet
日志并搜索对Docker的引用。也许配置为运行kubelet的用户没有必要的权限来与/var/run/docker.sock
的Docker套接字进行交互。
如果您需要进一步的帮助,日志内容可能会有所帮助。
答案 1 :(得分:0)
当docker进入某种损坏状态时,我已经看到了这个问题,因为它无法删除(特定的)已停止的容器并且泄漏了僵尸进程。最终必须重启节点。
CentoOS 7仍然在Kubernetes 1.10.0和Docker CE 18.03上。