为容器定义一个环境变量
当您创建了一个 Pod,您可以给运行在这个 Pod 中的容器设置环境变量。要设置环境变量,在配置文件中包含 env 或者 envFrom 字段。
在下面例子中,创建一个 Pod,里面运行了一个容器。这个 Pod 的配置文件中定义了一个名字为 DEMO_GREETING,值为 "Hello from the environment" 的环境变量。这是这个 Pod 的配置文件:
envars.yaml Copy envars.yaml to clipboard
apiVersion: v1
kind: Pod
metadata:
name: envar-demo
labels:
purpose: demonstrate-envars
spec:
containers:
- name: envar-demo-container
image: gcr.io/google-samples/node-hello:1.0
env:
- name: DEMO_GREETING
value: "Hello from the environment"
- name: DEMO_FAREWELL
value: "Such a sweet sorrow"
基于这个 YAML 文件创建一个 Pod:
kubectl create -f https://k8s.io/docs/tasks/inject-data-application/envars.yaml
列出运行的 Pod:
kubectl get pods -l purpose=demonstrate-envars
输出和下面的相似:
NAME READY STATUS RESTARTS AGE envar-demo 1/1 Running 0 9s
获取您 Pod 中运行的容器的 shell:
kubectl exec -it envar-demo -- /bin/bash
在您的 shell 中,运行 printenv 命令列出环境环境变量。
root@envar-demo:/# printenv
输出和下面的相似:
NODE_VERSION=4.4.2 EXAMPLE_SERVICE_PORT_8080_TCP_ADDR=10.3.245.237 HOSTNAME=envar-demo ... DEMO_GREETING=Hello from the environment
输入
exit
,退出shell
。