19.6.4. Kubernetes および OpenShift を使用したローリングアップグレード
ローリングアップグレードとローリング更新も同様にサウンドできますが、異なることを意味します。ローリング更新 は、古い Pod を新規 Pod に置き換えるプロセスです。つまり、新しいバージョンのアプリケーションをロールアウトするプロセスです。典型的な例は設定変更です。Pod はイミュータブルであるため、更新された設定ビットを使用するために Kubernetes/OpenShift はそれらを 1 つずつ置き換える必要があります。一方、ローリングアップグレード は、ある Red Hat Data Grid クラスターから別のクラスターにデータを移行するプロセスです。典型的な例として、あるバージョンから別のバージョンに移行しています。
Kubernetes と OpenShift の両方の場合、ローリングアップグレード手順はほぼ同じです。これは、小規模な変更を含む標準 のローリングアップグレード手順 に基づいています。
OpenShift/Kubernetes を使用してアップグレードする場合の主な相違点は次のとおりです。
- 設定によっては、OpenShift ルート または Kubernetes Ingress API を使用してサービスをクライアントに公開することが推奨されます。アップグレード時に、クライアントによって使用されるルート(または Ingress)は新規クラスターを参照するように変更できます。
-
CLI コマンドの呼び出しは、Kubernetes(
kubectl exec)または OpenShift クライアント(oc exec)を使用して実行できます。以下に例を示します。oc exec <POD_NAME>gitops-TEMPLATES'/opt/datagrid/bin/cli.sh' '-c' '--controller=$(hostname -i):9990' '/subsystem=datagrid-infinispan/cache-container=clustered/distributed-cache=default:disconnect-source(migrator-name=hotrod)'
ライブラリーモードを使用したアップグレード時の主な相違点:
-
クライアントアプリケーションは JMX を公開する必要があります。通常はアプリケーションと環境タイプによって異なりますが、最も簡単な方法として、以下のスイッチを Java ブース収集スクリプト
-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=<PORT> に追加することです。 -
JMX への接続は、ポートを転送することで実行できます。OpenShift では、これは
oc port-forwardコマンドを使用して実行できますが、kubectl の port-forwardコマンドで実行できます。
ローリングアップグレード(リモートキャッシュストアを再度削除)の最後の手順は異なる方法で実行する必要があります。Kubernetes/OpenShift のローリングアップデート コマンドを使用し、Pod 設定をリモートキャッシュストアを含まないものに置き換える必要があります。
詳細な手順は、ISPN-6673 チケットを参照してください。