我们在 Kubernetes 1.9.0 上,想知道是否有办法在其 statefulset 配置文件中访问 pod 的“序数索引”。我们喜欢动态地为 pod 的标签分配一个值(从序数索引派生),然后在规范下使用它来设置 pod 亲和性(或反亲和性)。
或者,在 statefulset 配置文件中是否可以使用 pod 的实例名称?如果是这样,我们可以希望从中提取序数索引并动态分配给标签(供以后用于亲和力)。
我们在 Kubernetes 1.9.0 上,想知道是否有办法在其 statefulset 配置文件中访问 pod 的“序数索引”。我们喜欢动态地为 pod 的标签分配一个值(从序数索引派生),然后在规范下使用它来设置 pod 亲和性(或反亲和性)。
或者,在 statefulset 配置文件中是否可以使用 pod 的实例名称?如果是这样,我们可以希望从中提取序数索引并动态分配给标签(供以后用于亲和力)。
您基本上可以在 statefulset 中获取 pod 的唯一名称作为环境变量,但您必须从中提取序数索引
在容器的规格中:
env:
- name: cluster.name
value: k8s-logs
- name: node.name
valueFrom:
fieldRef:
fieldPath: metadata.name
现在唯一的选择是从主机名中提取索引
lifecycle:
postStart:
exec:
command: ["/bin/sh", "-c", "export INDEX=${HOSTNAME##*-}"]