0

我想从 pod 内部访问副本的数量以及给定 pod 的当前副本 id。例如,如果任何给定 pod 有 3 个副本,例如 foo_A、foo_B 和 foo_C,按特定顺序创建,是否可以在 pod 中提供副本集中的副本总数和 pod 索引?

我也明白,随着旧的 pod 被杀死而新的 pod 出现,副本集中的 pod 索引可以动态变化。

我知道这可以使用 Downward API 来实现,但是要访问哪些字段?有人可以帮忙吗?

4

1 回答 1

0

如评论中所述,您可以使用StatefulSets

StatefulSet Pod 具有唯一的身份,由序数、稳定的网络身份和稳定的存储组成。身份坚持到 Pod,无论它(重新)调度在哪个节点上。

正如您在此处看到的,您的 pod 将按顺序创建:

  • 对于有 N 个副本的 StatefulSet,在部署 Pod 时,它们是按顺序创建的,从 {0..N-1} 开始。当 Pod 被删除时,它们会以相反的顺序从 {N-1..0} 终止。
  • 在将扩展操作应用于 Pod 之前,它的所有前任都必须处于 Running 和 Ready 状态。
  • 在终止 Pod 之前,必须完全关闭其所有后继者。
于 2020-09-29T11:22:13.917 回答