kubernetes:在 Deployment 和 PDB 中指定 maxUnavailable

pka*_*mol 4 kubernetes

假设我有一个Deployment为该.spec.strategy.rollingUpdate.maxUnavailable字段设置的特定值。

然后我部署一个PodDisruptionBudget附加到上面的部署,将它的spec.maxUnavailable字段设置为与上面不同的值。

哪一个会占上风?

wei*_*eld 7

通过解释文档,似乎这取决于事件。

对于滚动更新,maxUnavailable即使 PodDisruptionBudget 指定了较小的值,部署也会生效。

但是对于驱逐,PodDisruptionBudgetmaxUnavailable将占上风,即使 Deployment 指定了较小的值。


文档没有明确比较这两个设置,但是从文档的编写方式可以推断,这些是针对不相互交互的不同事件的单独设置。

例如:

此外,这更符合 Kubernetes 工作原理的精神。部署控制器不会读取 PodDisruptionBudget 的字段,反之亦然。

但要真正确定,您只需要尝试一下即可。