千家信息网

kubernetes 容器内获取Pod信息

发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,本文讲述Pod能获取Pod自身运行的容器信息以及Node信息(kubernetes 自从1.7开始)1.编译busybox-env.yaml文件apiVersion: v1kind: Podmetad
千家信息网最后更新 2025年02月04日kubernetes 容器内获取Pod信息

本文讲述Pod能获取Pod自身运行的容器信息以及Node信息(kubernetes 自从1.7开始)

1.编译busybox-env.yaml文件

apiVersion: v1kind: Podmetadata:  name: busybox-envspec:  containers:    - name: busybox-container      image: busybox      command:        - sleep        - "3600"      env:      - name: MY_NODE_NAME # 获取node名称        valueFrom:          fieldRef:            fieldPath: spec.nodeName      - name: MY_POD_NAME # 获取pod名称        valueFrom:          fieldRef:            fieldPath: metadata.name      - name: MY_POD_NAMESPACE # 获取pod的namespace        valueFrom:          fieldRef:            fieldPath: metadata.namespace      - name: MY_POD_IP # 获取pod IP        valueFrom:          fieldRef:            fieldPath: status.podIP

2.应用yaml

$ kubectl apply -f  busybox-env.yaml

3.进入容器内部查看变量是否存在

$ kubectl exec -it busybox-env sh$ env | egrep "MY_POD"MY_POD_NAMESPACE=defaultMY_POD_IP=10.23.2.1MY_POD_NAME=busybox-env$ env | egrep "MY_NODE"MY_NODE_NAME=k8s-node01

可以看到变量是已经加载到容器的环境变量中了

0