Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

35.3. 设置环境变量

在 pod 模板中设置环境变量:

$ oc set env <object-selection> KEY_1=VAL_1 ... KEY_N=VAL_N [<set-env-options>] [<common-options>]

设置环境选项:

选项描述

-e, --env=<KEY>=<VAL>

设置给定环境变量的键值对。

--overwrite

确认更新现有的环境变量。

在以下示例中,两个命令在部署配置 registry 中修改环境变量 STORAGE。第一个添加,值为 /data。第二个更新,值为 /opt

$ oc set env dc/registry STORAGE=/data
$ oc set env dc/registry --overwrite STORAGE=/opt

以下示例在当前 shell 中找到环境变量,其名称以 RAILS_ 开头,并将它们添加到服务器上的复制控制器 r1 中:

$ env | grep ^RAILS_ | oc set env rc/r1 -e -

以下示例不会修改文件 rc.json 中定义的复制控制器。相反,它会将带有更新的环境 STORAGE=/local 的 YAML 对象写入新文件 rc.yaml

$ oc set env -f rc.json STORAGE=/opt -o yaml > rc.yaml

35.3.1. 自动添加的环境变量

表 35.1. 自动添加的环境变量

变量名称

<SVCNAME>_SERVICE_HOST

<SVCNAME>_SERVICE_PORT

用法示例

服务 KUBERNETES 公开 TCP 端口 53,并分配了集群 IP 地址 10.0.0.11 会生成以下环境变量:

KUBERNETES_SERVICE_PORT=53
MYSQL_DATABASE=root
KUBERNETES_PORT_53_TCP=tcp://10.0.0.11:53
KUBERNETES_SERVICE_HOST=10.0.0.11
注意

使用 oc rsh 命令 SSH 到容器,并运行 oc set env 来列出所有可用的变量。