我非常需要帮助。我注意到我的Kubernetes助手/节点每天似乎以随机的时间间隔重新启动几次,我不知道为什么。这对我来说是一个大问题,因为每次重启都会导致节点上的每个应用程序停机大约10分钟。
当它们重新启动时,我可以看到如下所示的节点事件
Events:
FirstSeen LastSeen Count From SubObjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
9m 9m 1 kubelet, kubernetes-minion-group-7j5x Normal Starting Starting kubelet.
9m 9m 1 kubelet, kubernetes-minion-group-7j5x Warning ImageGCFailed unable to find data for container /
9m 9m 2 kubelet, kubernetes-minion-group-7j5x Normal NodeHasSufficientDisk Node kubernetes-minion-group-7j5x status is now: NodeHasSufficientDisk
9m 9m 2 kubelet, kubernetes-minion-group-7j5x Normal NodeHasSufficientMemory Node kubernetes-minion-group-7j5x status is now: NodeHasSufficientMemory
9m 9m 2 kubelet, kubernetes-minion-group-7j5x Normal NodeHasNoDiskPressure Node kubernetes-minion-group-7j5x status is now: NodeHasNoDiskPressure
9m 9m 1 kubelet, kubernetes-minion-group-7j5x Warning Rebooted Node kubernetes-minion-group-7j5x has been rebooted, boot id: bed35a9d-584c-4458-8a04-49725200eb0c
9m 9m 1 kubelet, kubernetes-minion-group-7j5x Normal NodeNotReady Node kubernetes-minion-group-7j5x status is now: NodeNotReady
8m 8m 1 kubelet, kubernetes-minion-group-7j5x Normal NodeReady 当我检查节点中的重启历史记录时,它似乎相当随机地发生。
kubernetes-minion-group-7j5x:~$ last reboot
reboot system boot 3.16.0-4-amd64 Wed Dec 13 00:36 - 01:01 (00:25)
reboot system boot 3.16.0-4-amd64 Tue Dec 12 23:24 - 01:01 (01:37)
reboot system boot 3.16.0-4-amd64 Mon Dec 11 05:43 - 01:01 (1+19:18)
reboot system boot 3.16.0-4-amd64 Sun Dec 10 23:46 - 01:01 (2+01:15) 由于重新启动是在Kubernetes事件中进行的,这是否意味着Kubernetes正在进行重新启动,或者可能是某个其他过程?如何对此进行故障排除?我不知道现在该怎么调查这件事。
我似乎在kube-controller-manager.log、kubelet.log、syslog、messages、kern.log、node-problem-detector.log、auth.log或unattended-upgrades.log中找不到任何东西。
我在Debian上运行Kubernetes 1.6.0
Linux kubernetes-minion-group-7j5x 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2+deb8u5 (2017-09-19) x86_64 GNU/Linux发布于 2017-12-14 00:45:37
故障排除可以通过查看日志来完成,这样您就可以获得更多信息,以了解是什么原因导致节点重新启动。当重启发生时,kublet进程将重新启动,并尝试在收集第一个指标之前获取指标。这就是为什么您在kublet重启后看到警告错误的原因。这通常不是问题,因为kubelet最终会重试,一旦指标收集开始,应该会成功。此错误在kubelet重新启动后特别明显。
此错误并不意味着它可能是Kubernetes问题,因为节点可能会由于其他问题而重新启动。最初的故障排除将是根据documentation查看实例日志
在谷歌云平台上的
您还可以日志并查看/var/ connect to the cluster /message文件中的任何错误指示。您可以使用与以下类似的命令,查看实例重启前后是否有错误:
cat /var/log/messages|egrep -i {“warning|error|内核|restart”}
您还可以使用‘less /var/log/message’中的日志,并使用‘/’搜索节点重新启动的日期和时间。
另请查看VM实例serial console输出:
转到“Compute engine”>“Instances”,然后单击“VM instance”查看VM实例详细信息。向下滚动到“日志”部分,然后单击“串行端口1(控制台)”。通过这种方式,您可以获得更多的实例日志。
我还想指出的是,您使用的不是最新版本的Kubernetes,升级可能会很有用。
发布于 2017-12-15 23:33:40
我不确定问题出在哪里,但是在将kubernetes节点从container-vm-v20170214映像切换到gci-稳定-56-9000-84-2之后,重启似乎已经停止。
我选择gci- stable 56-9000-84-2是因为这是我的kubernetes主控器正在运行的,而且它们看起来很稳定。我不确定为什么Kubernetes 1.6.0默认使用不同的主和节点镜像。
https://stackoverflow.com/questions/47784062
复制相似问题