在kubernetes中,我们可以通过环境变量很容易地公开某些参数和值,例如节点IP、容器uid等。示例
- name: POD_ID valueFrom: fieldRef: fieldPath: metadata.uid
然而,我想知道是否有一种方法可以列出可以包含在pod中的可能引用,或者以API引用的形式,或者动态地在pod上。
sd2nnvve1#
我自己想明白了,你只能引用那些如果你kubectl edit pod <podname>一个pod也会暴露出来的变量。
kubectl edit pod <podname>
63lcw9qa2#
这被称为downwardAPI。variables或fields也可以使用你提到的环境变量和通过卷文件来暴露。完整文档如下:https://kubernetes.io/docs/concepts/workloads/pods/downward-api/#available-fields。部分摘录如下。Pod & container字段引用可通过使用fieldRef & resourceFieldRef的环境变量获得。
variables
fields
fieldRef
resourceFieldRef
*字段参考:
status.hostIP
metadata.labels
metadata.annotations['<KEY>']
requests.memory
limits.cpu
requests.hugepages-*
2条答案
按热度按时间sd2nnvve1#
我自己想明白了,你只能引用那些如果你
kubectl edit pod <podname>
一个pod也会暴露出来的变量。63lcw9qa2#
这被称为downwardAPI。
variables
或fields
也可以使用你提到的环境变量和通过卷文件来暴露。完整文档如下:https://kubernetes.io/docs/concepts/workloads/pods/downward-api/#available-fields。部分摘录如下。
Pod & container字段引用可通过使用
fieldRef
&resourceFieldRef
的环境变量获得。*字段参考:
status.hostIP
、metadata.labels
、metadata.annotations['<KEY>']
等容器级别字段。资源字段引用
requests.memory
、limits.cpu
、requests.hugepages-*
等字段