【问题标题】:Accessing replica set information from within the pod从 pod 中访问副本集信息
【发布时间】:2020-09-24 09:54:11
【问题描述】:

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

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

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

【问题讨论】:

  • 也许您正在寻找statefulset 以获得容器的固定名称?
  • 感谢@KoopaKiller。如果有帮助,我会看看。

标签: kubernetes replicaset autoscalemode horizontal-pod-autoscaling


【解决方案1】:

如cmets中所说,可以使用StatefulSets

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

如您所见here,您的 pod 将按顺序创建:

  • 对于具有 N 个副本的 StatefulSet,在部署 Pod 时,它们是按顺序创建的,从 {0..N-1} 开始。 当 Pod 被删除时,它们会以相反的顺序从 {N-1..0} 终止。
  • 在将扩展操作应用到 Pod 之前,其所有前驱必须处于运行和就绪状态。
  • 在终止 Pod 之前,必须完全关闭其所有后继者。

【讨论】:

    猜你喜欢
    • 2020-04-12
    • 2023-03-26
    • 1970-01-01
    • 2017-10-08
    • 1970-01-01
    • 2018-05-31
    • 2013-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多