第19章 Data Grid へのカスタムコードのデプロイ
スクリプトやイベントリスナーなどのカスタムコードを Data Grid クラスターに追加します。
カスタムコードを Data Grid クラスターにデプロイする前に、これを利用可能にする必要があります。これを行うには、永続ボリューム (PV) からアーティファクトをコピーするか、HTTP または FTP サーバーからアーティファクトをダウンロードします。あるいは、両方の方法を使用することができます。
19.1. Data Grid クラスターへのコードアーティファクトのコピー リンクのコピーリンクがクリップボードにコピーされました!
アーティファクトを永続ボリューム (PV) に追加してから、これらを Data Grid Pod にコピーします。
この手順では、以下を実行する永続ボリューム要求 (PVC) をマウントする一時的な Pod を使用する方法について説明します。
- コードのアーティファクトを PV に追加できます (書き込み操作を実行します)。
- Data Grid Pod が PV からコードアーティファクトをロードできるようにします (読み取り操作を実行します)。
これらの読み取りおよび書き込み操作を実行するには、特定の PV アクセスモードが必要です。ただし、さまざまな PVC アクセスモードのサポートはプラットフォームに依存します。
さまざまなプラットフォームで PVC を作成する方法については、本書では扱いません。分かりやすくするため、以下の手順では ReadWriteMany
アクセスモードの PVC を示しています。
場合によっては、ReadOnlyMany
または ReadWriteOnce
アクセスモードのみを使用できます。同じ spec.volumeName
の PVC を回収し、再利用することで、これらのアクセスモードの組み合わせを使用できます。
ReadWriteOnce
アクセスモードを使用すると、クラスター内のすべての Data Grid Pod が同じ OpenShift ノードにスケジュールされます。
手順
Data Grid クラスターの namespace に変更します。
oc project rhdg-namespace
oc project rhdg-namespace
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のように、カスタムコードアーティファクトの PVC を作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PVC を適用します。
oc apply -f datagrid-libs.yaml
oc apply -f datagrid-libs.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のように、PVC をマウントする Pod を作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pod を Data Grid namespace に追加し、準備ができるまで待機します。
oc apply -f datagrid-libs-pod.yaml oc wait --for=condition=ready --timeout=2m pod/datagrid-libs-pod
oc apply -f datagrid-libs-pod.yaml oc wait --for=condition=ready --timeout=2m pod/datagrid-libs-pod
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コードのアーティファクトを Pod にコピーし、それらが PVC に読み込まれるようにします。
たとえば、ローカルの
locallibs
ディレクトリーからコードアーティファクトをコピーするには、以下を実行します。oc cp --no-preserve=true libs datagrid-libs-pod:/tmp/
oc cp --no-preserve=true libs datagrid-libs-pod:/tmp/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pod を削除します。
oc delete pod datagrid-libs-pod
oc delete pod datagrid-libs-pod
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 永続ボリュームを
Infinispan
CR のspec.dependencies.volumeClaimName
で指定してから、変更を適用します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
永続ボリュームでカスタムコードを更新する場合は、変更を読み込むことができるように、Data Grid クラスターを再起動する必要があります。