为什么 PodDisruptionBudget 有 minAvailable 和 maxUnavailable 选项?

Ela*_*Ela 3 reliability kubernetes kubernetes-pod

虽然我在一定程度上理解 minAvailable 和 maxUnavailable 的使用,但我想知道为什么这两个选项似乎是另一个选项的补充时公开。

鉴于 PDB 是不可变的,很少对这些参数进行更改(通过重新部署 PDB)。

有什么我想在这里意识到的吗?

Ric*_*ico 5

minAvailable并且maxUnavailable是相互排斥的,它基本上在K8s 文档中

您只能在单个 PodDisruptionBudget 中指定 maxUnavailable 和 minAvailable 之一。maxUnavailable 只能用于控制有关联控制器管理它们的 pod 的驱逐。

关联控制器的含义:部署、statefulset、daemonset 等。

  • 另请注意官方文档中的这句话:“建议使用`maxUnavailable`,因为它会自动响应相应控制器副本数量的变化。” (3认同)