アップグレード

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プラットフォーム・オペレータの現在のバージョンに変更する必要があります。次のステップでこのシナリオについて説明します:

  1. Verrazzano 1.1.2をインストールします。
  2. Verrazzano CRバージョン・フィールドをv1.2.0に変更して、1.2.0にアップグレードします。
    • なんらかの理由でアップグレードが失敗し、Verrazzano CR状態がUpgradeFailedに変わります。
  3. Verrazzanoプラットフォーム・オペレータを1.3.0に更新します。
    • Verrazzano CR状態がUpgradePausedに変わります。
  4. Verrazzano CRバージョン・フィールドをv1.3.0に変更します。
    • Verrazzano CR状態が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のアップグレード

マルチクラスタVerrazzano環境をアップグレードする方法