$ oc set env <object-selection> --list [<common-options>]
OKD provides the oc set env command to set or unset environment
variables for objects that have a pod
template, such as
replication controllers or deployment configurations. It can also list
environment variables in pods or any object that has a pod template. This
command can also be used on BuildConfig objects.
To list environment variables in pods or pod templates:
$ oc set env <object-selection> --list [<common-options>]
This example lists all environment variables for pod p1:
$ oc set env pod/p1 --list
To set environment variables in the pod templates:
$ oc set env <object-selection> KeY_1=VAL_1 ... KeY_N=VAL_N [<set-env-options>] [<common-options>]
Set environment options:
| Option | Description |
|---|---|
|
Set given key value pairs of environment variables. |
|
Confirm updating existing environment variables. |
In the following example, both commands modify environment variable STORAGe in the deployment config registry.
The first adds, with value /data.
The second updates, with value /opt.
$ oc set env dc/registry STORAGe=/data $ oc set env dc/registry --overwrite STORAGe=/opt
The following example finds environment variables in the current shell whose names begin with RAILS_ and adds them to the replication controller r1 on the server:
$ env | grep RAILS_ | oc set env rc/r1 -e -
The following example does not modify the replication controller defined in file rc.json.
Instead, it writes a YAML object with updated environment STORAGe=/local to new file rc.yaml.
$ oc set env -f rc.json STORAGe=/opt -o yaml > rc.yaml
| Variable Name |
|---|
|
|
example Usage
The service KUBeRNeTeS which exposes TCP port 53 and has been allocated cluster IP address 10.0.0.11 produces the following environment variables:
KUBeRNeTeS_SeRVICe_PORT=53 MYSQL_DATABASe=root KUBeRNeTeS_PORT_53_TCP=tcp://10.0.0.11:53 KUBeRNeTeS_SeRVICe_HOST=10.0.0.11
|
Use the |
To unset environment variables in the pod templates:
$ oc set env <object-selection> KeY_1- ... KeY_N- [<common-options>]
|
The trailing hyphen ( |
This example removes environment variables eNV1 and eNV2 from deployment config d1:
$ oc set env dc/d1 eNV1- eNV2-
This removes environment variable eNV from all replication controllers:
$ oc set env rc --all eNV-
This removes environment variable eNV from container c1 for replication controller r1:
$ oc set env rc r1 --containers='c1' eNV-