即使在 Kubernetes 中有任何滚动更新,如何确保至少 3 pods 总是 运行

How to ensure that at least 3 pods are always running even if there are any rolling updates in Kubernetes

我已经在具有 8 个副本的 k8s 集群中部署了一个应用程序。但是如何确保在滚动更新期间至少有 3 pods 始终 运行,有人可以提出解决方案吗?

提前致谢。

您应该能够使用配置选项 maxUnavailablehttps://kubernetes.io/docs/concepts/workloads/controllers/deployment/#max-unavailable 来保证在更新期间有一定数量的副本可用。

您可以在 maxSurgemaxUnavailable

上设置所需的值
  strategy:
    rollingUpdate:
       maxSurge: 25%
       maxUnavailable: 50%
    type: RollingUpdate

maxUnavailable 设置为 50% 将确保您始终有 4 pods 运行.