12.2. JBoss EAP XP の Helm チャートにおける永続データストレージ用の OpenShift ボリューム
OpenShift ボリュームを使用すると、コンテナーで、クラウドストレージ、ネットワークファイルシステム (NFS)、ホストマシンなどのさまざまなソースからのデータを保存および共有できます。OpenShift のパッケージマネージャーである Helm チャートを使用すると、一貫性のある再現可能な方法でアプリケーションをデプロイできます。Helm チャートにボリュームマウントを追加すると、デプロイメント間でアプリケーションがデータを維持できるようになります。
12.2.1. JBoss EAP XP で Helm チャートを使用してボリュームをマウントする リンクのコピーリンクがクリップボードにコピーされました!
この手順では、JBoss EAP XP で Helm チャートを使用してシークレットをボリュームとしてマウントする方法を説明します。さらに、これを使用して ConfigMap
をマウントすることもできます。この手順を実行すると、アプリケーションがデータにアクセスして使用できるようになり、不正なアクセスや改ざんからデータを保護できます。たとえば、シークレットをボリュームとしてマウントすると、シークレットに保存した機密データが、シークレットがマウントされているデプロイメントを実行している POD にファイルとして表示されます。
前提条件
- OpenShift 開発コンソールにアクセスできる。
-
secret
を作成している。たとえば、keystore.jks
などのファイルを参照するeap-app-secret
という名前のシークレットを作成します。 -
コンテナーのファイルシステム内でシークレットをマウントする場所を特定している。たとえば、ディレクトリー
/etc/jgroups-encrypt-secre-secret-volume
は、keystore.jks
などのシークレットファイルがマウントされる場所です。 - Git リポジトリーでホストされている JBoss EAP XP アプリケーションのソースコード。
- アプリケーションは Maven プロジェクトである。
-
org.jboss.eap.plugins:eap-maven-plugin
を使用して JBoss EAP XP 5.0 サーバーをプロビジョニングするようにアプリケーションを設定した。
手順
OpenShift 開発コンソールにログインします。
- ドロップダウンメニューで、Helm をクリックします。
- 右上隅で create をクリックし、Helm Release をクリックします。
- JBoss EAP XP 5 を選択します。
- create をクリックし、YAML ビュー で設定を選択します。
deploy.volumes
フィールドにボリュームを指定して YAML ファイルを編集し、使用するシークレットを設定します。ボリュームの名前とシークレットの secretName を指定する必要があります。volumes: - name: eap-jgroups-keystore-volume secret: secretName: eap-app-secret
volumes: - name: eap-jgroups-keystore-volume secret: secretName: eap-app-secret
Copy to Clipboard Copied! Toggle word wrap Toggle overflow デプロイメント設定の
deploy.volumeMounts
を使用して、ファイルシステムにボリュームをマウントします。volumeMounts: - name: eap-jgroups-keystore-volume mountPath: /etc/jgroups-encrypt-secret-volume readOnly: true
volumeMounts: - name: eap-jgroups-keystore-volume mountPath: /etc/jgroups-encrypt-secret-volume readOnly: true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pod が起動すると、コンテナーが keystore.jks ファイルを
/etc/jgroups-encrypt-secret-volume/keystore.jks
にマウントします。