kubernetes中通过文件将定义pod时的字段信息暴露给容器

本文详细介绍了如何使用Kubernetes的Downward API将Pod的字段,如标签和注解,以文件形式暴露给容器。这种方式使得容器在运行时能够访问到Pod的定义信息,例如CPU和内存限制,而无需直接与集群交互。Downward API支持fieldRef和resourceFieldRef来获取特定的Pod和Container字段。
摘要由CSDN通过智能技术生成

参考:https://kubernetes.io/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information/

本文描述如何将定义pod时的字段如标签、注释等某些字段以文件的形式暴露给容器,使容器在运行时能读到这些字段,注意这里是以文件的形式不是以环境变量的形式。这个特性的主要目的是将定义pod、容器时的信息很方便的传递向运行中的容器,比如说容器运行时对cpu、内存等的限定,运行中的容器可以不用通过与集群交互,直接可以很方便的获得这些信息。

Store Pod fields

假设有如下的pod定义:

apiVersion: v1
kind: Pod
metadata:
  name: kubernetes-downwardapi-volume-example
  labels:
    zone: us-est-coast
    cluster: test-cluster1
    rack: rack-22
  annotations:
    build: two
    builder: john-doe
spec:
  containers:
    - name: client-container
      image: k8s.gcr.io/busybox
      command: ["sh", "-c"]
      args:
      - while true; do
          if [[ -e /etc/podinfo/labels ]]; then
            echo -en '\n\n'; cat /etc/podinfo/labels; fi;
          if [[ -e /etc/podinfo/annotations ]]; then
            echo -en '\n\n'; cat /etc/podinfo/annotations; fi;
          sleep 5;
        done;
      volumeMounts:
        - name: podinfo
          mountPath: /etc/podinfo
          readOnly: false
  volumes:
    - name: podinfo
      downwardAPI:
        items:
          - path: "labels"
            fieldRef:
              fieldPath: metadata.labels
          - path: "
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值