获取Kubernetes中字段引用列表的方法

ktca8awb  于 2023-02-07  发布在  Kubernetes
关注(0)|答案(2)|浏览(105)

在kubernetes中,我们可以通过环境变量很容易地公开某些参数和值,例如节点IP、容器uid等。
示例

- name: POD_ID
      valueFrom:
        fieldRef:
          fieldPath: metadata.uid

然而,我想知道是否有一种方法可以列出可以包含在pod中的可能引用,或者以API引用的形式,或者动态地在pod上。

sd2nnvve

sd2nnvve1#

我自己想明白了,你只能引用那些如果你kubectl edit pod <podname>一个pod也会暴露出来的变量。

63lcw9qa

63lcw9qa2#

这被称为downwardAPI。variablesfields也可以使用你提到的环境变量和通过卷文件来暴露。
完整文档如下:https://kubernetes.io/docs/concepts/workloads/pods/downward-api/#available-fields。部分摘录如下。
Pod & container字段引用可通过使用fieldRef & resourceFieldRef的环境变量获得。

*字段参考

  • 用于Pod级别字段。
  • 适用于status.hostIPmetadata.labelsmetadata.annotations['<KEY>']等容器级别字段。
  • 完整列表:https://kubernetes.io/docs/concepts/workloads/pods/downward-api/#downwardapi-fieldRef
    资源字段引用
  • 用于容器级字段。
  • 对于requests.memorylimits.cpurequests.hugepages-*等字段
  • 完整列表:https://kubernetes.io/docs/concepts/workloads/pods/downward-api/#downwardapi-resourceFieldRef

相关问题