4.6. アプリケーションイメージのデプロイ
OpenShift 開発コンソールで deploy
設定を指定することで、Helm チャートを使用して JBoss EAP アプリケーションをデプロイできます。
別のメカニズムを使用してアプリケーションイメージをビルドした場合は、build.deploy
フィールドを false
に設定することで、Helm チャートのデプロイ設定をスキップできます。
4.6.1. Helm チャートの永続データストレージ用 OpenShift ボリューム
OpenShift ボリュームを使用すると、コンテナーで、クラウドストレージ、ネットワークファイルシステム (NFS)、ホストマシンなどのさまざまなソースからのデータを保存および共有できます。OpenShift のパッケージマネージャーである Helm チャートを使用すると、一貫性のある再現可能な方法でアプリケーションをデプロイできます。Helm チャートにボリュームマウントを追加すると、デプロイメント間でアプリケーションがデータを維持できるようになります。
4.6.2. Helm チャートを使用したボリュームのマウント
この手順では、JBoss EAP 8.0 で Helm チャートを使用して secret
をボリュームとしてマウントする方法を説明します。さらに、これを使用して ConfigMap
をマウントすることもできます。この手順を実行すると、アプリケーションがデータにアクセスして使用できるようになり、不正なアクセスや改ざんからデータを保護できます。
たとえば、secret
をボリュームとしてマウントすると、シークレットに保存した機密データが、シークレットがマウントされているデプロイメントを実行している POD にファイルとして表示されます。
前提条件
-
secret
を作成している。たとえば、keystore.jks
などのファイルを参照するeap-app-secret
という名前のシークレットを作成します。 -
コンテナーのファイルシステム内でシークレットをマウントする場所を特定している。たとえば、ディレクトリー
/etc/jgroups-encrypt-secre-secret-volume
は、keystore.jks
などのシークレットファイルがマウントされる場所です。
手順
deploy.volumes
フィールドでvolume
を指定し、使用するシークレットを設定します。ボリュームのname
とシークレットのsecretName
を指定する必要があります。volumes: - name: eap-jgroups-keystore-volume secret: secretName: eap-app-secret
デプロイメント設定の
deploy.volumeMounts
を使用して、ファイルシステムにボリュームをマウントします。volumeMounts: - name: eap-jgroups-keystore-volume mountPath: /etc/jgroups-encrypt-secret-volume readOnly: true
Pod が起動すると、コンテナーが keystore.jks
ファイルを /etc/jgroups-encrypt-secret-volume/keystore.jks
にマウントします。