Downward API

Downward API

它的作用是:让 Pod 里的容器能够直接获取到这个 Pod API 对象本身的信息

在这个 Pod 的 YAML 文件中,我定义了一个简单的容器,声明了一个projected 类型的Volume。只不过这次 Volume 的数据来源,变成了 Downward API。而这个 Downward APIVolume则声明了要暴露 Pod 的 metadata.labels 信息

apiVersion: v1
kind: Pod
metadata: 
  name: kulong
  labels: 
    zone: user-test
    cluster: test-cluster
    rack: rack-22
spec: 
  containers: 
     - name: client-container
       image: busybox
       command: ["sh","-c"]
       args: 
       - while true;do
          if [[ -e /etc/podinfo/labels ]];then 
            echo -en '\n\n'; cat /etc/podinfo/labels;cat /etc/podinfo/name; fi;
            sleep 5;
         done;
       volumeMounts: 
         - name: podinfo
           mountPath: /etc/podinfo
           readOnly: false
  volumes:
    - name: podinfo
      projected:
        sources:
        - downwardAPI:
            items:
              - path: "labels"
                fieldRef:
                  fieldPath: metadata.labels
              - path: "name"
                fieldRef:
                  fieldPath: metadata.name

kubectl create -f dapi-volume.yaml
kubectl logs kulong

cluster="test-cluster1"
rack="rack-22"
zone="us-est-coas

在使用 Downward API 时,还是要记得去查阅一下官方文档
Downward API用法

你可能感兴趣的:(Downward API)