“谓词 NodeAffinity 失败”

时间:2021-07-28 12:33:20

标签: google-kubernetes-engine

我有一个 GKE 集群,我将其更新为“v1.19.11-gke.2101”。

在该集群中,我们运行了大量具有如下节点选择器的 Pod:

worldPolygon.events.on("hit", async function(ev) {
  let destination_actif = await context.$get_destination_actif_by_country_code(code) 
  let target = ev.target
  if(!destination_actif.data){
     target.tooltipText = 'No result';
  }else{
     target.tooltipText = 'With result';
  }

自从我更新集群以来,不时有 Pod 进入:

      nodeSelector:
        cloud.google.com/gke-nodepool: default-pool

使用这些状态事件:

Status:         Failed
Reason:         NodeAffinity"

问题是,即使状态为“失败”,其他 Pod 也已成功调度,因此没有“真正的问题”,只是一个烦人的危险信号,我想摆脱它。

我看到 kubernets GitHub 存储库中有几个已关闭的问题提到了这一点并声称已修复:

但问题仍然存在于 GKE 1.19.11 中。 AFAIK gke 有自己的 Kubernetes 实现,所以.. 有没有人知道它是否在特定的 GKE 版本中真正解决了?哪一个?即使没有......知道如何摆脱烦人的标志而不必手动/定期删除卡住的 pod 吗?

提前致谢,欢迎任何帮助。

1 个答案:

答案 0 :(得分:0)

此问题影响了“1.19.11”版本下的 GKE 集群,因此如果您使用抢占式节点,将它们升级到“1.20.x”将是一种解决方法。请注意,此问题目前正在处理中,以提供固定的解决方案。

请注意,尽管您可能会在数据处理过程中遇到延迟,但不会对工作负载产生影响。

  • 除了手动删除之外,没有其他方法可以删除失败的 Pod,但由于问题尚未解决,它们可能会重新出现。

  • 暂时退出抢占式节点,因为此问题很少发生在常规节点上。

您可以在这个新的 issue tracker

中跟踪更新