第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-namespaceCopy 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.yamlCopy 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-podCopy 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-podCopy to Clipboard Copied! Toggle word wrap Toggle overflow 永続ボリュームを
InfinispanCR のspec.dependencies.volumeClaimNameで指定してから、変更を適用します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
永続ボリュームでカスタムコードを更新する場合は、変更を読み込むことができるように、Data Grid クラスターを再起動する必要があります。