是否可以从容器内部访问pod信息?

时间:2017-06-01 12:51:59

标签: kubernetes

我的部署配置了5个副本。我想在每个正在运行的容器中知道pod副本的名称。

执行时:

kubectl get pods

NAME                   READY     STATUS    RESTARTS   AGE
test-581957695-cbjtm   1/1       Running   3          1d
test-581957695-dnv8s   1/1       Running   1          1d
test-581957695-fv467   1/1       Running   1          1d
test-581957695-m74lc   1/1       Running   0          1d
test-581957695-s6cx0   1/1       Running   1          1d

是否可以获得名称" test-581957695-cbjtm"从容器里面?

谢谢。

2 个答案:

答案 0 :(得分:1)

您可以使用env vars将pod信息公开给容器。

electron-localshortcut

答案 1 :(得分:0)

另一种选择是使用Kubernetes Downward API。使用API​​,您可以通过VolumeFile或Environment Variables公开容器内的pod /容器信息。 目前,这些是您可以公开的信息:

  
      
  • 节点名称
  •   
  • The Pod的名字
  •   
  • Pod的命名空间
  •   
  • Pod的IP地址
  •   
  • Pod的服务帐户名称
  •   
  • 容器的CPU限制
  •   
  • 容器的CPU请求
  •   
  • 容器的内存限制
  •   
  • 容器的内存请求
  •   
     

此外,还可以通过DownwardAPIVolumeFiles获取以下信息,

     
      
  • The Pod的标签
  •   
  • The Pod的注释
  •   

有关详细信息,请参阅https://kubernetes.io/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information/#the-downward-api