我有一个 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 吗?
提前致谢,欢迎任何帮助。
答案 0 :(得分:0)
此问题影响了“1.19.11”版本下的 GKE 集群,因此如果您使用抢占式节点,将它们升级到“1.20.x”将是一种解决方法。请注意,此问题目前正在处理中,以提供固定的解决方案。
请注意,尽管您可能会在数据处理过程中遇到延迟,但不会对工作负载产生影响。
除了手动删除之外,没有其他方法可以删除失败的 Pod,但由于问题尚未解决,它们可能会重新出现。
暂时退出抢占式节点,因为此问题很少发生在常规节点上。
您可以在这个新的 issue tracker
中跟踪更新