问题 如何重启kubernetes节点?


节点的状态报告为 unknown

"conditions": [
          {
            "type": "Ready",
            "status": "Unknown",
            "lastHeartbeatTime": "2015-11-12T06:03:19Z",
            "lastTransitionTime": "2015-11-12T06:04:03Z",
            "reason": "Kubelet stopped posting node status."
          }

whle kubectl get nodes 返回NOTReady状态。这意味着什么以及如何解决这个问题?


10202
2017-11-12 12:31


起源

这里有完全相同的问题:(我能够删除VirtualBox中的节点然后 kube-up.sh 将创建一个新的。它在我的情况下并没有真正的帮助,但也许会帮助你 - Igor Artamonov
是否有api删除节点?我不确定群集是如何设置的 - user_mda
哦,我甚至没有问你有什么样的设置,虽然它是基于virtualbox的本地流浪汉 - Igor Artamonov
这是一个物理linux vm,有关如何创建新节点或重新启动现有节点的任何信息? - user_mda
唯一的答案是如何删除节点。参与这个问题的每个人都将寻找如何重新启动一个问题。我们能得到答案吗? - Bruno Bronosky


答案:


获取节点

kubectl get nodes

结果:

NAME            STATUS     AGE
192.168.1.157   NotReady   42d
192.168.1.158   Ready      42d
192.168.1.159   Ready      42d

描述节点

这里有一个 没有准备好 在节点上 192.168.1.157。然后调试这个notready节点,你可以阅读官方文档 - 应用程序内省与调试

kubectl describe node 192.168.1.157

部分结果:

Conditions:
Type          Status          LastHeartbeatTime                       LastTransitionTime                      Reason                  Message
----          ------          -----------------                       ------------------                      ------                  -------
OutOfDisk     Unknown         Sat, 28 Dec 2016 12:56:01 +0000         Sat, 28 Dec 2016 12:56:41 +0000         NodeStatusUnknown       Kubelet stopped posting node status.
Ready         Unknown         Sat, 28 Dec 2016 12:56:01 +0000         Sat, 28 Dec 2016 12:56:41 +0000         NodeStatusUnknown       Kubelet stopped posting node status.

有一个 OutOfDisk 然后在我的节点上 Kubelet停止发布节点状态。 所以,我必须使用命令释放一些磁盘空间 df 在我的 Ubuntu14.04 我可以查看内存的详细信息,并使用命令 docker rmi image_id/image_name 在...的作用下 su 我可以删除无用的图像。

登录节点

登录 192.168.1.157 通过使用 SSH, 喜欢 ssh administrator@192.168.1.157,并切换到'su' sudo su;

重新启动kubelet

/etc/init.d/kubelet restart

结果:

stop: Unknown instance: 
kubelet start/running, process 59261

再次获取节点

在主人:

kubectl get nodes

结果:

NAME            STATUS    AGE
192.168.1.157   Ready     42d
192.168.1.158   Ready     42d
192.168.1.159   Ready     42d

好的,该节点工作正常。

这是一个参考: Kubernetes


11
2017-12-01 03:34





您可以通过发出以下命令从主服务器中删除节点:

kubectl delete node hostname.company.net

NOTReady状态可能意味着主服务器无法访问kubelet服务。检查客户端上的一切是否正常。


3
2017-11-12 13:53





我也遇到过这个问题,但看起来它取决于Kubernetes产品以及所有产品的安装方式。在Azure中,如果您使用的是acs-engine安装,则可以找到实际运行的shell脚本,以便在以下位置进行配置:

/opt/azure/containers/provision.sh

要获得更细粒度的理解,只需阅读它并运行它指定的命令。对我来说,我必须以root身份运行:

systemctl enable kubectl
systemctl restart kubectl

我不知道是否需要启用,我不能说这些是否适用于您的特定安装,但它绝对适用于我。


0
2018-01-27 19:23