由于 MatchInterPodAffinity 谓词,没有任何亲和力的 Kubernetes pods 突然停止调度

Kubernetes pods without any affinity suddenly stop scheduling because of MatchInterPodAffinity predicate

我们的 Kubernetes 1.6 集群中的所有新的或重新启动的 pods 都没有任何已知的变化,不再安排。我得到的错误是:

No nodes are available that match all of the following predicates:: MatchInterPodAffinity (10), PodToleratesNodeTaints (2).

我们的集群之前运行良好,我真的看不到之前所做的任何配置更改。

我已经尝试过的事情:

一些 pods 确实有以前有效的反亲和力设置,但大多数 pods 没有任何亲和力设置。

集群信息:

这有什么已知的原因吗?

我可以检查哪些设置和日志可以提供更多信息?

是否可以调试调度程序?

问题是 Pod 卡在删除中。这导致 kube-controller-manager 停止工作。

删除无效,因为有问题的 Pod/RS/Deployment 的限制与我们在创建后设置的 maxLimitRequestRatio 相冲突。错误报告正在处理中。

解决方案是增加 maxLimitRequestRatio 并最终重启 kube-controller-manager。