マルチクラスタVerrazzanoのアップグレード
マルチクラスタVerrazzano環境をアップグレードする方法
Verrazzanoのインストールは、cert-managerなどのコンポーネントのスタックで構成されます。各コンポーネントには特定のリリース・バージョンがあり、Verrazzano全体のバージョンとは異なる場合があります。Verrazzanoプラットフォーム・オペレータは、Verrazzanoバージョンに関連付けられた各コンポーネントのバージョンを認識しています。最初のVerrazzanoインストールを実行すると、プラットフォーム・オペレータによって各コンポーネントの適切なバージョンがインストールされます。インストール後、1つ以上のコンポーネント・イメージまたはHelmチャートを更新する必要がある場合があります。この更新は、プラットフォーム・オペレータによっても行われ、upgrade
と呼ばれます。現在、Verrazzanoはパッチレベルのアップグレードのみを行います。ここでは、コンポーネントに対してhelm upgrade
コマンドを発行できます。通常、パッチレベルのアップグレードでは、コンポーネント・イメージが新しいバージョンに置き換えられます。
Verrazzanoプラットフォーム・オペレータの更新とVerrazzanoインストールのアップグレードを区別することが重要です。プラットフォーム・オペレータには、新しいコンポーネント・チャートおよびイメージ・バージョンが含まれるため、インストールをアップグレードする前に更新する必要があります。プラットフォーム・オペレータを更新しても、Verrazzanoインストールのアップグレードが開始されるまで、既存のインストールには影響しません。現在、プラットフォーム・オペレータの更新またはVerrazzanoのインストール・アップグレードをロールバックする方法はありません。アップグレードは、実行中のアプリケーションに影響しません。
既存のVerrazzanoインストールのアップグレードには、次が含まれます:
Verrazzano
リソースのバージョンの、アップグレードされたオペレータでサポートされているバージョンへの更新。ノート: アップグレード時、バージョン・フィールドのみ変更できます。現時点では、他のフィールドやコンポーネント構成への変更はサポートされていません。
既存のVerrazzanoインストールをアップグレードするには、まずVerrazzanoプラットフォーム・オペレータをアップグレードする必要があります。
Verrazzanoプラットフォーム・オペレータをアップグレードします。
ノート: プライベート・コンテナ・レジストリを使用している場合は、プラットフォーム・オペレータを更新するには、プライベート・レジストリの使用の手順に従います。
最新バージョンにアップグレードするには:
$ kubectl apply -f https://github.com/verrazzano/verrazzano/releases/download/v1.0.4/operator.yaml
特定のバージョンにアップグレードするには(<version>
が目的のバージョンです):
$ kubectl apply -f https://github.com/verrazzano/verrazzano/releases/download/<version>/operator.yaml
デプロイが完了するまで待ちます。
$ kubectl -n verrazzano-install rollout status deployment/verrazzano-platform-operator
deployment "verrazzano-platform-operator" successfully rolled out
オペレータ・ポッドが正しく定義され、実行中であることを確認します。
$ kubectl -n verrazzano-install get pods
NAME READY STATUS RESTARTS AGE
verrazzano-platform-operator-59d5c585fd-lwhsx 1/1 Running 0 114s
Verrazzanoをアップグレードするには:
Verrazzano
リソースを希望するバージョンに更新します。
Verrazzanoコンポーネントをアップグレードするには、Verrazzano
リソース仕様のversion
フィールドを、アップグレードしたプラットフォーム・オペレータがサポートしているバージョンと一致するように更新し、クラスタに適用する必要があります。
リソース仕様のversion
フィールドの値は、有効なVerrazzanoリリース・バージョンに対応するセマンティック・バージョニング値である必要があります。
次のいずれかの方法でリソースを更新できます:
a.Verrazzanoのインストールに使用したYAMLファイルを編集し、バージョン・フィールドを最新バージョンに設定します。
たとえば、v1.0.4
にアップグレードするには、YAMLファイルを編集してバージョン・フィールドを追加または更新する必要があります:
apiVersion: install.verrazzano.io/v1alpha1
kind: Verrazzano
metadata:
name: example-verrazzano
spec:
profile: dev
version: v1.0.4
次に、リソースをクラスタに適用します(kubectl edit
を使用してリソースをインプレースで編集していない場合):
$ kubectl apply -f example-verrazzano.yaml
b.kubectl
を使用してVerrazzano
リソースを直接編集し、バージョン・フィールドを直接設定します。次に例を示します:
$ kubectl edit verrazzano example-verrazzano
# In the resource editor, add or update the version field to "version: v1.0.4", then save.
アップグレードが完了するまで待ちます:
$ kubectl wait \
--timeout=10m \
--for=condition=UpgradeComplete verrazzano/example-verrazzano
verrazzano-system
ネームスペースのすべてのポッドがRunning
状態であることを確認します。アップグレードの進行中は、新しいバージョンのコンポーネントが適用されるため、いくつかのポッドが終了し、再起動する場合があります。
例:
$ kubectl get pods -n verrazzano-system
coherence-operator-controller-manager-7557bc4c49-7w55p 1/1 Running 0 27h
fluentd-fzmsl 1/1 Running 0 27h
fluentd-r9wwf 1/1 Running 0 27h
fluentd-zp2r2 1/1 Running 0 27h
oam-kubernetes-runtime-6ff589f66f-r95qv 1/1 Running 0 27h
verrazzano-api-669c7d7f66-rcnl8 1/1 Running 0 27h
verrazzano-application-operator-b5b77d676-7w95p 1/1 Running 0 27h
verrazzano-console-6b469dff9c-b2jwk 1/1 Running 0 27h
verrazzano-monitoring-operator-54cb658774-f6jjm 1/1 Running 0 27h
verrazzano-operator-7f4b99d7d-wg7qm 1/1 Running 0 27h
vmi-system-es-master-0 2/2 Running 0 27h
vmi-system-grafana-74bb7cdf65-k97pb 2/2 Running 0 27h
vmi-system-kibana-85565975b5-7hfdf 2/2 Running 0 27h
vmi-system-prometheus-0-7bf464d898-czq8r 4/4 Running 0 27h
weblogic-operator-7db5cdcf59-qxsr9 1/1 Running 0 27h
マルチクラスタVerrazzano環境をアップグレードする方法