码迷,mamicode.com
首页 > Web开发 > 详细

kubernetes 容器内获取Pod信息

时间:2020-01-06 17:56:29      阅读:750      评论:0      收藏:0      [点我收藏+]

标签:from   bec   nodename   应用   开始   pac   进入容器   查看   com   

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

1.编译busybox-env.yaml文件

apiVersion: v1
kind: Pod
metadata:
  name: busybox-env
spec:
  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: metadata.name

2.应用yaml

$ kubectl apply -f  busybox-env.yaml

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

$ kubectl exec -it busybox-env sh

$ env | egrep "MY_POD"
MY_POD_NAMESPACE=default
MY_POD_IP=busybox-env
MY_POD_NAME=busybox-env

$ env | egrep "MY_NODE"
MY_NODE_NAME=k8s-node01

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

kubernetes 容器内获取Pod信息

标签:from   bec   nodename   应用   开始   pac   进入容器   查看   com   

原文地址:https://blog.51cto.com/12643266/2464648

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!