6.4. シークレットのマウント
機密データをワークスペースにマウントするには、Kubernetes シークレットを使用します。
Kubernetes Secrets を使用すると、ユーザー名、パスワード、SSH キーペア、認証トークン (AWS など)、および機密性の高い設定をマウントできます。
組織の OpenShift Dev Spaces インスタンスの OpenShift クラスター内の DevWorkspace
コンテナーに Kubernetes シークレットをマウントします。
前提条件
-
宛先 OpenShift クラスターへの管理権限を持つアクティブな
oc
セッション。CLI の使用方法 を参照してください。 -
ユーザープロジェクトですべての
DevWorkspace
コンテナーにマウントする新しいシークレットを作成するか、既存のシークレットを決定している。
手順
Secret のマウントに必要なラベルを Secret に追加します。
$ oc label secret <Secret_name> \ controller.devfile.io/mount-to-devworkspace=true \ controller.devfile.io/watch-secret=true
オプション: アノテーションを使用して、シークレットのマウント方法を設定します。
表6.1 オプションのアノテーション Annotation 説明 controller.devfile.io/mount-path:
マウントパスを指定します。
デフォルトは
/etc/secret/<Secret_name>
です。controller.devfile.io/mount-as:
リソースのマウント方法を指定します:
file
、subpath
、またはenv
。デフォルトは
file
です。mount-as: file
は、キーと値をマウントパス内のファイルとしてマウントします。mount-as: subpath
は、サブパスボリュームマウントを使用して、マウントパス内のキーと値をマウントします。mount-as: env
は、すべてのDevWorkspace
コンテナーに環境変数としてキーと値をマウントします。
例6.2 シークレットをファイルとしてマウントする
apiVersion: v1
kind: Secret
metadata:
name: mvn-settings-secret
labels:
controller.devfile.io/mount-to-devworkspace: 'true'
controller.devfile.io/watch-secret: 'true'
annotations:
controller.devfile.io/mount-path: '/home/user/.m2'
data:
settings.xml: <Base64_encoded_content>
ワークスペースを開始すると、/home/user/.m2/settings.xml
ファイルが DevWorkspace
コンテナーで使用可能になります。
Maven を使用すると、settings.xml
ファイルのカスタムパスを設定できます。以下に例を示します。
$ mvn --settings /home/user/.m2/settings.xml clean install