4.17.2. シークレットまたは ConfigMap を環境変数として CodeReady Workspaces コンテナーにマウントする
前提条件
- Red Hat CodeReady Workspaces の実行中のインスタンス。Red Hat CodeReady Workspaces のインスタンスをインストールするには、CodeReady Workspaces のインストールについて参照してください。
手順
CodeReady Workspaces ワークスペースがデプロイされる OpenShift プロジェクトで新規の OpenShift シークレットまたは ConfigMap を作成します。作成される予定のオブジェクトのラベルは、ラベルのセットと一致する必要があります。
-
app.kubernetes.io/part-of: che.eclipse.org
-
app.kubernetes.io/component: <DEPLOYMENT_NAME>-<OBJECT_KIND>
<DEPLOYMENT_NAME>
には、以下のデプロイメントのいずれかを使用します。-
postgres
-
keycloak
-
devfile-registry
-
plugin-registry
codeready
および
-
<jasper_KIND>
は以下のいずれかになります。secret
または
-
configmap
-
例4.6 例:
apiVersion: v1 kind: Secret metadata: name: custom-settings labels: app.kubernetes.io/part-of: che.eclipse.org app.kubernetes.io/component: codeready-secret ...
または
apiVersion: v1 kind: ConfigMap metadata: name: custom-settings labels: app.kubernetes.io/part-of: che.eclipse.org app.kubernetes.io/component: codeready-configmap ...
アノテーションは、指定されるオブジェクトが環境変数としてマウントされていることを示す必要があります。
アノテーション値を設定します。
-
che.eclipse.org/mount-as: env
-: オブジェクトを環境変数としてマウントするように指定します。 -
che.eclipse.org/env-name: <FOOO_ENV>
: オブジェクトキー値のマウントに必要な環境変数名を指定します。
-
例4.7 例:
apiVersion: v1 kind: Secret metadata: name: custom-settings annotations: che.eclipse.org/env-name: FOO_ENV che.eclipse.org/mount-as: env labels: ... data: mykey: myvalue
または
apiVersion: v1 kind: ConfigMap metadata: name: custom-settings annotations: che.eclipse.org/env-name: FOO_ENV che.eclipse.org/mount-as: env labels: ... data: mykey: myvalue
これにより、2 つの環境変数が
-
FOO_ENV
-
myvalue
CodeReady Workspaces コンテナーにプロビジョニングされます。
オブジェクトに複数のデータ項目がある場合、環境変数の名前は以下のようにそれぞれのデータキーについて指定される必要があります。
例4.8 例:
apiVersion: v1 kind: Secret metadata: name: custom-settings annotations: che.eclipse.org/mount-as: env che.eclipse.org/mykey_env-name: FOO_ENV che.eclipse.org/otherkey_env-name: OTHER_ENV labels: ... data: mykey: __<base64 encoded data content here>__ otherkey: __<base64 encoded data content here>__
または
apiVersion: v1 kind: ConfigMap metadata: name: custom-settings annotations: che.eclipse.org/mount-as: env che.eclipse.org/mykey_env-name: FOO_ENV che.eclipse.org/otherkey_env-name: OTHER_ENV labels: ... data: mykey: __<data content here>__ otherkey: __<data content here>__
これにより、2 つの環境変数が
-
FOO_ENV
-
OTHER_ENV
CodeReady Workspaces コンテナーにプロビジョニングされます。
OpenShift シークレットのアノテーション名の最大長さは 63 文字です。ここで、9 文字は、/
で終わるプレフィックス用に予約されます。これは、オブジェクトに使用できるキーの最大長さの制限として機能します。
CodeReady Workspaces コンテナーの変更を表示できるようにするには、オブジェクトを完全に再作成します。