k8s的环境变量

(1) hostname

hostname环境变量保存了该Pod的hostname。

(2)容器和Pod的基本信息

Pod的名字、命名空间、IP以及容器的计算资源限制等可以以Downward API的方式获取并存储到环境变量中。基本上yaml里的信息都可以作为环境变量。

apiVersion: v1

kind: Pod

metadata:

name: test

spec:

containers:

- name: test-container

  image: gcr.io/google_containers/busybox

  resources:

      requests:

  memory: "32Mi"

  cpu: "125m"

      limits:

  memory: "64Mi"

 cpu: "250m"

 env:

- name: MY_NODE_NAME

  valueFrom:

    fieldRef:

      fieldPath: spec.nodeName

- name: MY_POD_NAME

  valueFrom:

     fieldRef:

       fieldPath: metadata.name

- name: MY_POD_NAMESPACE

   valueFrom:

      fieldRef:

 fieldPath: metadata.namespace

- name: MY_POD_IP

  valueFrom:

     fieldRef:

fieldPath:

  status.podIP

- name: MY_POD_SERVICE_ACCOUNT

   valueFrom:

      fieldRef:

 fieldPath:

   spec.serviceAccountName

- name: MY_CPU_REQUEST

  valueFrom:

      resourceFieldRef:

containerName: test-container resource: requests.cpu

(3) 集群中服务的信息

      容器的环境变量中还包括了容器运行前创建的所有服务的信息,比如默认的kubernetes服务对应了环境变量

KUBERNETES_PORT_443_TCP_ADDR=10.0.0.1

KUBERNETES_SERVICE_HOST=10.0.0.1

KUBERNETES_SERVICE_PORT=443

KUBERNETES_SERVICE_PORT_HTTPS=443

KUBERNETES_PORT=tcp://10.0.0.1:443

KUBERNETES_PORT_443_TCP=tcp://10.0.0.1:443

KUBERNETES_PORT_443_TCP_PROTO=tcp

KUBERNETES_PORT_443_TCP_PORT=443

posted on 2020-09-17 16:35  星星眨着眼  阅读(6534)  评论(0编辑  收藏  举报

导航