【发布时间】:2019-06-05 08:49:13
【问题描述】:
我的 Kubernetes Engine 集群不断重启我的一个节点,即使该节点上的所有 pod 都“表现良好”。我试图查看集群的 Stackdriver 日志,但找不到原因。一段时间后,连续重启通常会停止,只会在几小时或几天后再次发生。
通常只有一个节点受到影响,而其他节点都很好,但删除该节点并在其位置创建一个新节点只会暂时有所帮助。
我已经禁用了节点自动修复以查看是否有影响(它之前已打开),如果我没记错的话,这是在将集群升级到 Kubernetes 1.13(特别是版本 1.13.5-gke)后开始的。升级到1.13.6-gke.0 后问题依然存在。即使创建一个新的节点池并迁移到它也没有任何效果。
集群由四个节点组成,每个节点有 1 个 CPU 和 3 GB RAM。我知道这对于 k8s 集群来说很小,但在过去它运行良好。
我在 GKE 上使用新的 Stackdriver Kubernetes Monitoring 和 Istio。
任何关于可能是什么原因或我在哪里寻找可能原因的指针将不胜感激。
Node 事件列表的屏幕截图(很高兴提供其他日志;在 Stackdriver Logging 中找不到任何有意义的内容):
【问题讨论】:
-
不健康状态可能意味着: - 节点在给定时间阈值(大约 10 分钟)内连续检查时报告 NotReady 状态。 - 节点在给定的时间阈值(大约 10 分钟)内根本不报告任何状态。 - 一个节点的引导磁盘在很长一段时间内(大约 30 分钟)没有磁盘空间。尝试启用自动修复。
-
@Sachith.Wanni 我之前启用了自动修复并遇到了同样的问题。这就是为什么我首先尝试禁用自动修复。
-
我将从发布
kubectl describe node开始,也许在您的节点重新启动和不健康之前发生了一些事情。你也使用资源和限制吗?这种重新启动是否可能是某些突发工作负载的结果?您是否还尝试在节点本身重新启动后检查系统日志?可以发一下结果吗? -
您还受到这个问题的影响吗?现在的默认版本是
1.16.13-gke.401。节点重新启动的问题可能与您的节点资源不足有关。官方文档states 表明您需要 4 个节点 (n1-standard-2) 以及 2vCPU 和 8GB 内存。您是否在具有更大资源的集群上测试了您的设置/工作负载? -
说实话,我不确定是什么让这个问题消失了——可能是升级了我的 Kubernetes 版本或摆脱了 Istio。无论如何,它现在工作正常,只有两个 e2-medium 实例。
标签: kubernetes google-kubernetes-engine istio