Kubernetes DNS pod在雷鸣般的群体场景中竞争用户级别的pod

时间:2016-05-13 17:15:33

标签: scheduling kubernetes race-condition

想象一下这种假设的情况(在实践中只是让我感到厌烦):

  1. Kubernetes集群中的所有工作人员实例都死亡(比如由于现货价格波动),并且会自动返回一个新实例。
  2. 调度程序然后尝试以任意顺序将pod安排到节点上,但由于节点数量比以前小,所以它们都不适合。
  3. 所有default命名空间pod都启用了它,但kube-system命名空间DNS pod并不
  4. 现在,大多数尝试在群集上运行的内容都被挂起,因为群集上没有DNS。
  5. 有没有办法在Kubernetes中使用QoS层来让调度程序在其他命名空间之前调度kube-system pod的调度?或者我还有其他方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

这是一个真正的问题,Kubernetes还没有Pod QoS保证。

为了完全安全,您的群集应该足够大,以处理任何预期的群集缩减,但这并不总是切实可行。

目前,手动缩小竞争优先级较低的部署可能是让群集恢复工作的最简单方法。

正在努力将Pod QoS策略纳入Kubernetes。您可以在https://github.com/kubernetes/kubernetes/pull/14943

上跟随/编钟