首页 > 解决方案 > 有没有办法在 kubernetes statefulset 配置文件中获取 pod 的序数索引?

问题描述

我们在 Kubernetes 1.9.0 上,想知道是否有办法在其 statefulset 配置文件中访问 pod 的“序数索引”。我们喜欢动态地为 pod 的标签分配一个值(从序数索引派生),然后在规范下使用它来设置 pod 亲和性(或反亲和性)。

或者,在 statefulset 配置文件中是否可以使用 pod 的实例名称?如果是这样,我们可以希望从中提取序数索引并动态分配给标签(供以后用于亲和力)。

标签: kuberneteskubernetes-helmstatefulset

解决方案


您基本上可以在 statefulset 中获取 pod 的唯一名称作为环境变量,但您必须从中提取序数索引

在容器的规格中:

env:
  - name: cluster.name
    value: k8s-logs
  - name: node.name
    valueFrom:
      fieldRef:
        fieldPath: metadata.name

推荐阅读