有没有办法在kubernetes statefulset配置文件中获取pod的序号索引?

时间:2018-06-07 21:54:29

标签: kubernetes pod statefulset kubernetes-helm

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

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

2 个答案:

答案 0 :(得分:2)

Right now唯一的选择是从主机名

中提取索引
language: python
python:
- '2.7'
- '3.3'
- '3.4'
- '3.5'
- '3.6'
- pypy
install:
- pip install coveralls
- pip install 'coverage<4'
script: nosetests --with-coverage --cover-package=<my package name>
after_success:
- coveralls
deploy:
  provider: pypi
  user: <my pypi username>
  password:
    secure: <my encrypted pypi password>
  on:
    tags: true
    distributions: sdist bdist_wheel
    repo: <my repo>
    branch: production

答案 1 :(得分:1)

本质上,您可以在statefulset中获得吊舱的唯一名称作为环境变量,但是您必须从中提取顺序索引

在容器的规范中:

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