kubernetes容器内获取Pod信息

  

本文讲述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信息