我有一个 GKE 集群,已更新为“v1.19.11-gke.2101”。
在该集群中,我们正在运行大量具有如下节点选择器的 Pod:
nodeSelector:
cloud.google.com/gke-nodepool: default-pool
Run Code Online (Sandbox Code Playgroud)
自从我更新集群以来,Pod 时不时地进入:
Status: Failed
Reason: NodeAffinity"
Run Code Online (Sandbox Code Playgroud)
通过这些状态事件:
Warning NodeNotReady 55m node-controller Node is not ready
Warning NodeAffinity 53m kubelet, gke-ef-gke-cluster-front-default-pool-bbda0bbf-t4js Predicate NodeAffinity failed
Run Code Online (Sandbox Code Playgroud)
问题是,即使状态为“失败”,其他 Pod 也已成功安排,因此不存在“真正的问题”,只是一个令人讨厌的红旗,我想摆脱它。
我看到 kubernets GitHub 存储库中关闭了几个问题,其中提到了这一点并声称已修复:
但在 GKE 1.19.11 中问题仍然存在。AFAIK gke 有自己的 Kubernetes 实现,所以……有谁知道它是否在特定的 GKE 版本中真正得到解决?哪一个?即使没有......知道如何摆脱恼人的标志而不必手动/定期删除卡住的豆荚吗?
提前致谢,我们非常欢迎任何帮助。