kubernetes Make maxUnavailable more useful for StatefulSets with OrderedReady Pod management

fzwojiic  于 7个月前  发布在  Kubernetes
关注(0)|答案(6)|浏览(75)

需要添加什么?

我们正在使用 maxUnavailable 在一个有状态集(stateful set)中,并使用 OrderedReady 策略。我们希望解决以下几个问题/增强功能:

  • 它正在并行终止 pods,但整个初始化过程(ContainerCreating / Init / PodInitializing)仍然一个接一个地进行,是否也可以并行进行?
  • 当缩小(和扩大)规模时,maxUnavailable 完全被忽略,pods 仍然一个接一个地被终止(和初始化),这是否也可以并行进行?

为什么需要这个?

我们有一个有状态集,有32个副本,部署和扩展需要很长时间。通过使用 maxUnavailable,我们已经大大提高了性能(从超过30分钟缩短到不到5分钟),我们相信如果初始化也能并行进行,我们可以将时间缩短到不到1分钟。
至于缩小规模,因为目前是逐个进行的,它仍然需要我们约30分钟,我们希望让它尽可能快地部署。

bjg7j2ky

bjg7j2ky1#

这个问题目前正在等待分类。
如果SIG或子项目确定这是一个相关的问题,他们将通过应用triage/accepted标签并提供进一步的指导来接受它。
组织成员可以通过在评论中写入/triage accepted来添加triage/accepted标签。
有关使用PR评论与我互动的说明,请查看here。如果您对我的行为有任何问题或建议,请针对kubernetes/test-infra仓库提出一个问题。

dl5txlt9

dl5txlt93#

@tzachshabtay ,我想参与这个项目。

wvmv3b1j

wvmv3b1j4#

整个初始化过程(ContainerCreating / Init / PodInitializing)仍然一个接一个地进行,是否也可以并行处理?
也许spec.podManagementPolicy = Parallel可以做到这一点。
我困惑的是,您想要同时创建pod,而状态集spec.podManagementPolicyOrderedReady。这听起来矛盾。

txu3uszq

txu3uszq5#

/retitle Make maxUnavailable more useful for StatefulSets with OrderedReady Pod management

34gzjxbg

34gzjxbg6#

@nayihz 感谢,所以使用"parallel"时,它按预期工作。我现在不太清楚"OrderedReady"以并行方式终止,但仍然逐个初始化的作用域是什么?或者从更广泛的Angular 来看,在我们之前有maxUnavailable时,我将"OrderedReady"视为maxUnavailable=1,将"Parallel"视为maxUnavailable=all replicas,是否有其他原因(除了兼容性)仍然保留pod管理策略字段,而不仅仅是使用maxUnavailable?

相关问题