第36章 環境変数の管理
36.1. 環境変数の設定および設定解除
OpenShift Container Platform は oc set env
コマンドを提供して、レプリケーションコントローラーまたはデプロイメント設定などの Pod テンプレート を持つオブジェクトの環境変数の設定または設定解除を実行します。また、Pod および Pod テンプレートを持つオブジェクトの環境変数を一覧表示します。このコマンドは BuildConfig
オブジェクトで使用することもできます。
36.2. 環境変数の一覧表示
Pod または Pod テンプレートの環境変数を一覧表示するには、以下を実行します。
$ oc set env <object-selection> --list [<common-options>]
この例では、Pod p1
のすべての環境変数を一覧表示します。
$ oc set env pod/p1 --list
36.3. 環境変数の設定
Pod テンプレートに環境変数を設定するには、以下を実行します。
$ oc set env <object-selection> KEY_1=VAL_1 ... KEY_N=VAL_N [<set-env-options>] [<common-options>]
環境オプションを設定します。
オプション | 説明 |
---|---|
|
環境変数のキーと値のペアを設定します。 |
|
既存の環境変数の更新を確定します。 |
以下の例では、両方のコマンドがデプロイメント設定 registry
で環境変数 STORAGE
を変更します。最初のコマンドは値 /data
を使って追加し、2 つ目のコマンドは値 /opt
を使って更新します。
$ oc set env dc/registry STORAGE=/data $ oc set env dc/registry --overwrite STORAGE=/opt
以下の例では、現在のシェルで 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
36.3.1. 自動的に追加された環境変数
変数名 |
---|
|
|
使用例
TCP ポート 53 を公開し、クラスター IP アドレス 10.0.0.11 が割り当てられたサービス KUBERNETES は以下の環境変数を生成します。
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
を実行して利用可能なすべての変数を一覧表示します。
36.4. 環境変数の設定解除
Pod テンプレートで環境変数を設定解除するには、以下を実行します。
$ oc set env <object-selection> KEY_1- ... KEY_N- [<common-options>]
末尾のハイフン (-
, U+2D) は必須です。
この例では、環境変数 ENV1
および ENV2
をデプロイメント設定 d1
から削除します。
$ oc set env dc/d1 ENV1- ENV2-
これは、すべてのレプリケーションコントローラーから環境変数 ENV
を削除します。
$ oc set env rc --all ENV-
これは、レプリケーションコントローラー r1
のコンテナー c1
から環境変数 ENV
を削除します。
$ oc set env rc r1 --containers='c1' ENV-