6.5. ConfigMap のマウント
機密でない設定データをワークスペースにマウントするには、Kubernetes ConfigMaps を使用します。
Kubernetes ConfigMaps を使用すると、アプリケーションの設定値などの機密性の低いデータをマウントできます。
Kubernetes ConfigMaps を組織の OpenShift Dev Spaces インスタンスの OpenShift クラスター内の DevWorkspace
コンテナーにマウントします。
前提条件
-
宛先 OpenShift クラスターへの管理権限を持つアクティブな
oc
セッション。Getting started with the CLI を参照してください。 -
新しい ConfigMap を作成するか、ユーザープロジェクトに既存の ConfigMap を決定して、すべての
Dev Workspace
コンテナーにマウントしました。
手順
- すべてのワークスペースコンテナーにマウントするユーザープロジェクトの既存の ConfigMap を決定します。
取り付けに必要なラベルを設定します。
$ oc label configmap <ConfigMap_name> \ controller.devfile.io/mount-to-devworkspace=true \ controller.devfile.io/watch-configmap=true
オプション: アノテーションを使用して、ConfigMap のマウント方法を設定します。
表6.2 オプションのアノテーション Annotation 詳細 controller.devfile.io/mount-path:
マウントパスを指定します。
デフォルトは
/etc/config/<ConfigMap_name>
です。controller.devfile.io/mount-as:
リソースのマウント方法を指定します:
file
、subpath
、またはenv
。デフォルトは
file
です。mount-as:file
は、キーと値をマウントパス内のファイルとしてマウントします。mount-as:subpath
は、サブパスボリュームマウントを使用して、マウントパス内のキーと値をマウントします。mount-as:env
は、すべてのDevWorkspace
コンテナーに環境変数としてキーと値をマウントします。
例6.3 ConfigMap を環境変数としてマウントする
kind: ConfigMap apiVersion: v1 metadata: name: my-settings labels: controller.devfile.io/mount-to-devworkspace: 'true' controller.devfile.io/watch-configmap: 'true' annotations: controller.devfile.io/mount-as: env data: <env_var_1>: <value_1> <env_var_2>: <value_2>
ワークスペースを開始すると、<env_var_1>
および <env_var_2>
環境変数が DevWorkspace
コンテナーで使用可能になります。