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用法