$ oc env <object-selection> <environment-variables> [options]
You can set, unset or list environment variables in pods or pod
templates using the
oc env
command.
OpenShift enterprise provides the oc 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.
The oc env
command uses the following general syntax:
$ oc env <object-selection> <environment-variables> [options]
There are several ways to express <object-selection>
.
Syntax | Description | example |
---|---|---|
|
Selects <object-name> of type <object-type>. |
|
|
Selects <object-name> of type <object-type>. |
|
|
Selects objects of type <object-type> that match <object-label-selector>. |
|
|
Selects all objects of type <object-type>. |
|
|
Look in <ref> — a filename, directory name, or URL — for the definition of the object to edit. |
|
Supported common options for set, unset or list environment variables:
Option | Description |
---|---|
|
Select containers by |
|
Display the changed objects in |
|
Output the changed objects with |
|
Proceed only if |
To set environment variables in the pod templates:
$ oc 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 env dc/registry STORAGe=/data $ oc 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 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 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 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 env dc/d1 eNV1- eNV2-
This removes environment variable eNV
from all replication controllers:
$ oc env rc --all eNV-
This removes environment variable eNV
from container c1
for replication controller r1
:
$ oc env rc r1 --containers='c1' eNV-