マルチクラスタVerrazzanoのアップグレード
マルチクラスタVerrazzano環境をアップグレードする方法
Verrazzanoのインストールは、cert-managerなどのコンポーネントのスタックで構成されます。各コンポーネントには特定のリリース・バージョンがあり、Verrazzano全体のバージョンとは異なる場合があります。Verrazzanoプラットフォーム・オペレータは、Verrazzanoバージョンに関連付けられた各コンポーネントのバージョンを認識しています。最初のVerrazzanoインストールを実行すると、プラットフォーム・オペレータによって各コンポーネントの適切なバージョンがインストールされます。インストール後、1つ以上のコンポーネント・イメージまたはHelmチャートを更新する必要がある場合があります。この更新は、プラットフォーム・オペレータによっても行われ、upgrade
と呼ばれます。現在、Verrazzanoはパッチレベルのアップグレードのみを行います。ここでは、コンポーネントに対してhelm upgrade
コマンドを発行できます。通常、パッチレベルのアップグレードでは、コンポーネント・イメージが新しいバージョンに置き換えられます。
Verrazzanoに新しいバージョンのIstioがある場合、Istioプロキシ・サイドカーを含むすべてのポッドを再起動する必要があります。こうすることで、プロキシ・サイドカーの新しいバージョンがポッドに注入されます。Istioプロキシ・サイドカーを含むすべての Verrazzanoポッドが再起動されます。これには、NGINX Ingress ControllerなどのVerrazzanoシステム・ポッドとVerrazzanoアプリケーションが含まれます。WebLogicワークロードの場合、Verrazzanoはすべてのドメインを停止し、アップグレードを実行してから、すべてのドメインを再起動します。他のすべてのワークロードの場合、Verrazzanoはアップグレードの完了時にローリング再起動を実行します。これは、アプリケーションの再起動に関連するユーザーが関与することはなく、アップグレード時に自動的に行われます。
Verrazzanoプラットフォーム・オペレータの更新とVerrazzanoインストールのアップグレードを区別することが重要です。プラットフォーム・オペレータには、新しいコンポーネント・チャートおよびイメージ・バージョンが含まれるため、インストールをアップグレードする前に更新する必要があります。プラットフォーム・オペレータを更新しても、Verrazzanoインストールのアップグレードが開始されるまで、既存のインストールには影響しません。現在、プラットフォーム・オペレータの更新またはVerrazzanoのインストール・アップグレードをロールバックする方法はありません。
Verrazzanoは、Verrazzano CLIまたはkubectlを使用してアップグレードできます。次の各項を参照してください。
verrazzano-system
ネームスペースのすべてのポッドがRunning
状態であることを確認します。アップグレードの進行中は、新しいバージョンのコンポーネントが適用されるため、いくつかのポッドが終了し、再起動する場合があります。次に例を示します:
$ kubectl get pods -n verrazzano-system
# Sample output
coherence-operator-866798c99d-r69xt 1/1 Running 1 43m
fluentd-f9fbv 2/2 Running 0 38m
fluentd-n79c4 2/2 Running 0 38m
fluentd-xslzw 2/2 Running 0 38m
oam-kubernetes-runtime-56cdb56c98-wn2mb 1/1 Running 0 43m
verrazzano-application-operator-7c95ddd5b5-7xzmn 1/1 Running 0 42m
verrazzano-authproxy-594d8c8dcd-llmlr 2/2 Running 0 38m
verrazzano-console-74dbf97fdf-zxvvn 2/2 Running 0 38m
verrazzano-monitoring-operator-6fcf8484fd-gfkhs 1/1 Running 0 38m
verrazzano-operator-66c8566f95-8lbs6 1/1 Running 0 38m
vmi-system-es-master-0 2/2 Running 0 38m
vmi-system-grafana-799d79648d-wsdp4 2/2 Running 0 38m
vmi-system-kiali-574c6dd94d-f49jv 2/2 Running 0 41m
vmi-system-kibana-77f8d998f4-zzvqr 2/2 Running 0 38m
weblogic-operator-7b447fdb47-wlw64 2/2 Running 0 42m
アプリケーション・ネームスペースのポッドの準備ができていることを確認します。次に例を示します:
$ kubectl get pods -n todo-list
# Sample output
NAME READY STATUS RESTARTS AGE
mysql-67575d8954-d4vkm 2/2 Running 0 39h
tododomain-adminserver 4/4 Running 0 39h
Verrazzano 1.3以降では、アップグレードは、成功するまで、あるいはVerrazzano CRを削除するまで実行し続けます。以前のバージョンでは、アップグレードが失敗して、UpgradeFailed
状態に移行する可能性があります。これが発生したとき、Verrazzanoプラットフォーム・オペレータを1.3+に更新していた場合には、Verrazzano CRがUpgradePaused
に変わります。アップグレードを続行するには、CRバージョンをVerrazzanoプラットフォーム・オペレータの現在のバージョンに変更する必要があります。次のステップでこのシナリオについて説明します:
UpgradeFailed
に変わります。UpgradePaused
に変わります。Upgrading
に変わり、完了するまではその状態ですが、その後UpgradeComplete
に変わります。アップグレードの詳しい進行状況を確認するには、次のコマンドでログを表示します
$ kubectl logs -n verrazzano-install \
-f $(kubectl get pod \
-n verrazzano-install \
-l app=verrazzano-platform-operator \
-o jsonpath="{.items[0].metadata.name}") | grep '^{.*}$' \
| jq -r '."@timestamp" as $timestamp | "\($timestamp) \(.level) \(.message)"'
マルチクラスタVerrazzano環境をアップグレードする方法