本文讲述Pod能获取Pod自身运行的容器信息以及节点信息(kubernetes自从1.7开始)
1。编译<代码> busybox-env.yaml 代码>文件
<代码> apiVersion: v1 :豆荚 元数据: 名称:busybox-env 规范: 容器: ——名称:busybox-container busybox映像: 命令: ——睡眠 ——“3600” env: ——名称:MY_NODE_NAME #获取节点名称 valueFrom: fieldRef: fieldPath: spec.nodeName ——名称:MY_POD_NAME #获取pod名称 valueFrom: fieldRef: fieldPath: metadata.name ——名称:MY_POD_NAMESPACE #获取pod的名称空间 valueFrom: fieldRef: fieldPath: metadata.namespace ——名称:MY_POD_IP #获取pod IP valueFrom: fieldRef: fieldPath: status.podIP 代码>
2。应用yaml
<代码>美元kubectl应用- f busybox-env.yaml 代码>
3。进入容器内部查看变量是否存在
<代码>美元kubectl exec - busybox-env sh 美元env | egrep“MY_POD” MY_POD_NAMESPACE=违约 MY_POD_IP=10.23.2.1 MY_POD_NAME=busybox-env 美元env | egrep“MY_NODE” MY_NODE_NAME=k8s-node01 代码>
可以看到变量是已经加载到容器的环境变量中了
引用>kubernetes容器内获取Pod信息