【问题标题】:GKE and Graceful node shutdown with differences concerning pods in Shutdown stateGKE 和 Graceful 节点关闭与 Shutdown 状态的 Pod 的区别
【发布时间】:2021-10-13 05:02:46
【问题描述】:

我有两个 GKE 集群,都为控制平面和节点运行 1.20.8-gke.900,并使用抢占式节点。

根据GKE documentation

在运行 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 BetaKubernetes v1.20 changelog

标签: kubernetes google-kubernetes-engine


【解决方案1】:

发布基于 cmets 的社区 wiki,以提高知名度。

目前,pod 在私有集群上处于恒定 SHUTDOWN 状态的问题已经解决。值得注意的是,该问题后来也发生在公共集群上。

意外和随机行为的一个可能原因是 Kubernetes v.1.20 中的 alpha state 中的“正常节点关闭”功能。在 Kubernetes 中 v.1.21 它位于 beta state

【讨论】:

    猜你喜欢
    • 2020-10-28
    • 1970-01-01
    • 1970-01-01
    • 2020-03-31
    • 2021-10-11
    • 2021-04-14
    • 1970-01-01
    • 1970-01-01
    • 2012-07-16
    相关资源
    最近更新 更多