在复制品大于一个的时候开始一个豆荚

发布于 2025-01-23 19:54:40 字数 216 浏览 2 评论 0原文

是否有一种方法可以确保在设置大于一个的副本时一次缩放一个豆荚?

示例:副本设置为3

  1. POD 1-初始化,POD 2-等待,POD 3-等待
  2. POD 1-跑步,POD 2-初始化,POD 3-等待
  3. POD 1-运行,POD 2-运行,POD 3-初始化
  4. POD 1 - 跑步,POD 2-运行,POD 3-运行

Is there a way to ensure that pods are scaled one at a time when setting replica greater than one?

Example: Replica set to 3

  1. Pod 1 - Initializing , pod 2 - Waiting, pod 3 - Waiting
  2. Pod 1 - Running , pod 2 - Initializing, pod 3 - Waiting
  3. Pod 1 - Running , pod 2 - Running, pod 3 - Initializing
  4. Pod 1 - Running , pod 2 - Running, pod 3 - Running

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

維他命╮ 2025-01-30 19:54:40

您可以使用statefulsets来完成此行为。从

  • 对于带有n副本的状态填充,当pod被部署时,它们是按{0..n-1}的顺序创建的。
  • 删除POD时,它们以相反顺序终止,从{n-1..0}。
  • 在将缩放操作应用于POD之前,其所有前任必须运行并准备就绪。
  • 在终止POD之前,其所有后继者必须完全关闭。

因此,正如您在此处看到的那样,直到上一个初始化之前,新的POD才不会启动。

注意:当使用订购 pod管理策略(默认值)时,kubernetes是由kubernetes进行的。

You can acomplish this behavior using StatefulSets. As it goes from Kubernetes docs

  • For a StatefulSet with N replicas, when Pods are being deployed, they are created sequentially, in order from {0..N-1}.
  • When Pods are being deleted, they are terminated in reverse order, from {N-1..0}.
  • Before a scaling operation is applied to a Pod, all of its predecessors must be Running and Ready.
  • Before a Pod is terminated, all of its successors must be completely shutdown.

So, as you can see here, new pod is not booted up until previous one is initializing.

Note: this behavior is guranteed by Kubernetes when OrderedReady pod management policy is used (which is default).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文