6.5. ConfigMap のマウント

機密でない設定データをワークスペースにマウントするには、Kubernetes ConfigMaps を使用します。

Kubernetes ConfigMaps を使用すると、アプリケーションの設定値などの機密性の低いデータをマウントできます。

Kubernetes ConfigMaps を組織の OpenShift Dev Spaces インスタンスの OpenShift クラスター内の Dev Workspace コンテナーにマウントします。

前提条件

  • 宛先 OpenShift クラスターへの管理権限を持つアクティブな oc セッション。CLI の使用方法 を参照してください。
  • ユーザープロジェクトで、新規の ConfigMap を作成するか、またはすべての Dev Workspace コンテナーにマウントする既存の ConfigMap を決定している。

手順

  1. ConfigMap のマウントに必要なラベルを ConfigMap に追加します。

    $ oc label configmap <ConfigMap_name> \
            controller.devfile.io/mount-to-devworkspace=true \
            controller.devfile.io/watch-configmap=true
  2. オプション: アノテーションを使用して、ConfigMap のマウント方法を設定します。

    表6.2 オプションのアノテーション

    Annotation説明

    controller.devfile.io/mount-path:

    マウントパスを指定します。

    デフォルトは /etc/config/<ConfigMap_name> です。

    controller.devfile.io/mount-as:

    リソースのマウント方法を指定します: filesubpath、または env

    デフォルトは file です。

    mount-as:file は、キーと値をマウントパス内のファイルとしてマウントします。

    mount-as:subpath は、サブパスボリュームマウントを使用して、マウントパス内のキーと値をマウントします。

    mount-as:env は、すべての Dev Workspace コンテナーに環境変数としてキーと値をマウントします。

例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> 環境変数が Dev Workspace コンテナーで使用可能になります。