当replica大于1时,每次启动一个pod



是否有办法确保在设置副本大于1时每次缩放一个?

示例:Replica set为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 - Running, Pod 2 - Running, Pod 3 - Running

您可以使用StatefulSets完成此行为。从Kubernetes docs

  • 对于具有N个副本的statfulset,当部署pod时,它们按顺序创建,顺序从{0..N-1}。
  • 当pod被删除时,它们以相反的顺序终止,从{N-1..0}。
  • 在缩放操作应用到Pod之前,它的所有前辈必须处于Running and Ready状态。
  • 在一个Pod被终止之前,它的所有后续必须完全关闭。

因此,正如您在这里看到的,新pod在前一个初始化之前不会启动。

注意:当使用OrderedReadypod管理策略(默认)时,Kubernetes保证此行为。

相关内容

  • 没有找到相关文章

最新更新