调试Kubernetes节点终止

时间:2018-09-05 12:20:47

标签: kubernetes

昨晚,我的Kubernetes集群终止了我的2个节点,我无法弄清楚发生了什么。

kubectl describe nodes在失败的节点上提供以下内容

Conditions:
Type                 Status  LastHeartbeatTime                 LastTransitionTime                Reason                       Message
----                 ------  -----------------                 ------------------                ------                       -------
NetworkUnavailable   False   Tue, 04 Sep 2018 21:57:00 +0000   Tue, 04 Sep 2018 21:57:00 +0000   RouteCreated                 RouteController created a route
OutOfDisk            False   Wed, 05 Sep 2018 12:12:33 +0000   Tue, 04 Sep 2018 21:56:27 +0000   KubeletHasSufficientDisk     kubelet has sufficient disk space available
MemoryPressure       False   Wed, 05 Sep 2018 12:12:33 +0000   Tue, 04 Sep 2018 21:56:27 +0000   KubeletHasSufficientMemory   kubelet has sufficient memory available
DiskPressure         False   Wed, 05 Sep 2018 12:12:33 +0000   Tue, 04 Sep 2018 21:56:27 +0000   KubeletHasNoDiskPressure     kubelet has no disk pressure
Ready                True    Wed, 05 Sep 2018 12:12:33 +0000   Tue, 04 Sep 2018 21:57:01 +0000   KubeletReady                 kubelet is posting ready status

所以我知道OutOfDisk, MemoryPressure and DiskPressure昨晚某个时刻都处于错误状态,但是是什么导致了这种情况发生?

我也检查了kubectl get events --all-namespaces,但一无所获。

最后kubectl describe pods只是给了我这些无用的信息

State:          Running
  Started:      Tue, 04 Sep 2018 22:03:47 +0000
Last State:     Terminated
  Reason:       Error
  Exit Code:    1
  Started:      Thu, 30 Aug 2018 14:36:48 +0000
  Finished:     Tue, 04 Sep 2018 21:25:16 +0000

有没有办法对此事进行验尸?我想知道的不只是磁盘空间不足。

2 个答案:

答案 0 :(得分:1)

我建议您阅读以下文档:https://kubernetes.io/docs/tasks/administer-cluster/out-of-resource/

我想到的第一个想法是检查节点/吊舱的日志。

kubectl logs

答案 1 :(得分:0)

尝试使用此grafana仪表板: https://grafana.com/grafana/dashboards/11802

在节点级别,您可以找到以下详细信息,可以帮助您关联事件:

正常运行时间 节点准备 CPU,内存和节点上的负载。 与PLEG相关的Kubelet错误 按名称空间在节点上的pod数量 内存/磁盘/ PID压力 排名前5位的令人讨厌的记忆豆荚 NTP时间偏差 Kubelet搬迁统计数据