【问题标题】:Immediately scale up Kubernetes Statefulset/Deployment to full capacity立即将 Kubernetes Statefulset/Deployment 扩展到最大容量
【发布时间】:2020-03-20 16:03:19
【问题描述】:

目前,我们将其中一个 statefulset 扩展为拥有 11 个副本。我们当前的 updateStrategy 是

updateStrategy:
  type: RollingUpdate

如果我们从头开始部署 statefulset,Kubernetes 会一个接一个地启动它们。要启动一个副本,它需要大约 5 分钟。因此,我们总共需要等待 55 分钟才能填满容量。

有没有办法在从头开始时立即填满容量?这样所有 11 个副本都会同时启动?

由于故障安全,对现有 statefulset 的升级应通过 RollingUpdate 处理。

最好的祝愿, 斯蒂芬

【问题讨论】:

    标签: kubernetes scale kubernetes-statefulset statefulset


    【解决方案1】:

    我不这么认为。 StatefulSets 的设计是为了安全高于一切,因此控制器一次操作一个 pod。

    【讨论】:

      【解决方案2】:

      我们在文档深处找到了答案:

      https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#parallel-pod-management

      https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies

      Pod 管理政策

      在 Kubernetes 1.7 及更高版本中,StatefulSet 允许您放宽其排序保证,同时通过其 .spec.podManagementPolicy 字段保留其唯一性和身份保证。

      OrderedReady Pod 管理

      OrderedReady pod 管理是 StatefulSets 的默认设置。它实现了上述行为。

      并行 Pod 管理

      并行 pod 管理告诉 StatefulSet 控制器并行启动或终止所有 Pod,并且在启动或终止另一个 Pod 之前不要等待 Pod 变为 Running 和 Ready 或完全终止。此选项仅影响缩放操作的行为。更新不受影响。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-06-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多