12

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

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

4

2 回答 2

14

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

在容器的规格中:

env:
  - name: cluster.name
    value: k8s-logs
  - name: node.name
    valueFrom:
      fieldRef:
        fieldPath: metadata.name
于 2019-01-22T10:19:39.053 回答
10

现在唯一的选择是从主机名中提取索引

lifecycle:
  postStart:
    exec:
      command: ["/bin/sh", "-c", "export INDEX=${HOSTNAME##*-}"]
于 2018-06-07T23:26:43.623 回答