当我们创建了复制控制器YML,我们可以给正在创建荚标签。
apiVersion: v1
kind: ReplicationController
metadata:
name: redis
spec:
template:
metadata:
labels:
app: redis
tier: backend
居住在这栋POD集装箱可以访问这些标签值?
退房Downward API,这使得容器更多地了解自己。
从容器内访问荚的信息的一种方法是使用环境变量。对于荚YAML的文件是:
apiVersion: v1
kind: Pod
metadata:
name: pod-env
spec:
containers:
- name: test-container
image: ubuntu
command: [ "sh", "-c"]
args:
- while true; do
echo -en '\n';
printenv MY_NODE_NAME MY_POD_NAME;
printenv MY_POD_IP
sleep 1000;
done;
env:
- name: MY_NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
restartPolicy: Never
该mY_POD_NAME环境变量会从吊舱的领域spec.nodeName它的价值。同样,我们也可以容器的字段值。为了验证此连接使用命令荚:
kubectl exec -it pod-env -- /bin/bash
和打印环境变量:
printenv MY_POD_NAME
从吊舱容器传递信息的另一种方法是使用downwardAPI:https://kubernetes.io/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information/