【发布时间】:2021-10-13 05:02:46
【问题描述】:
我有两个 GKE 集群,都为控制平面和节点运行 1.20.8-gke.900,并使用抢占式节点。
在运行 1.20 或更高版本的抢占式 GKE 节点上,默认启用 kubelet 正常节点关闭功能。因此,kubelet 检测到抢占并优雅地终止 Pod。
但是,在其中一个集群上执行 kubectl get pods --all-namespaces 时,我看到许多 pod 处于 SHUTDOWN 状态,例如
kube-system metrics-server-v0.3.6-9c5bbf784-w8cs2 0/2 Shutdown 0 2d20h
另一方面,没有这样的 pod,尽管据我所知两者都具有相同的配置(唯一的区别是没有这些 pod 的是私有集群,另一个是公共集群,但这不应该没有区别?)
我是否遗漏了任何设置或配置差异?
【问题讨论】:
-
您能描述一下关闭的 pod 并添加事件以便我们看一下吗?
-
@CaioT 好吧,根据文档,带有处于关闭状态的 pod 的集群的行为符合预期,另请参阅 stackoverflow.com/questions/68687716/… 没有此类 pod 的集群的行为与我预期的不同。
-
您是否 100% 确定两个集群都使用 preepmtible 节点,唯一的区别是其中一个是私有的,另一个是公共的?
-
我很好。奇怪的是,现在我也开始让另一个集群上的 pod 处于 Shutdown 状态,但没有任何变化。所以我想这不能被复制。可能是一些时间问题,虽然节点分别在 8 月 1 日和 2 日升级到 1.20(作为常规发布渠道的一部分)
-
嗨@user140547,有进展吗?请注意,“优雅的节点关闭”功能在 Kubernetes
v1.20中处于 alpha 阶段。这可以解释您遇到的随机行为。在v1.21版本中,它处于测试阶段。来源:Kubernetes blog - Graceful Node Shutdown Goes Beta,Kubernetes v1.20 changelog
标签: kubernetes google-kubernetes-engine