1.2. Web コンソールを使用した Operator アップグレードのロールバック
OpenShift Container Platform Web コンソールを使用して Operator バージョンをロールバックできます。
前提条件
-
cluster-adminパーミッションを持つアカウントを使用して OpenShift Container Platform クラスター Web コンソールにアクセスできる。
手順
- Operators → Installed Operators ページに移動します。
- RHACS Operator を検索およびクリックします。
- Operator Details ページで、Actions リストから Uninstall Operator を選択します。このアクションの後には、Operator は実行を停止し、更新を受信しなくなります。
次のオプションのいずれかを選択して、ロールバックする前のバージョンを決定します。
現在の Central インスタンスが実行中の場合は、ターミナルウィンドウから次のコマンドを実行して、RHACS API をクエリーしてロールバックバージョンを取得できます。
$ curl -k -s -u <user>:<password> https://<central hostname>/v1/centralhealth/upgradestatus | jq -r .upgradeStatus.forceRollbackTo
次の手順を実行して、Pod を作成し、以前のバージョンを解凍できます。
注記この手順は、
rocksdbデータベースがインストールされている RHACS リリース 3.74 以前でのみ使用できます。- Workloads → Deployments → central に移動します。
- Deployment details で、Pod 数の横にある下矢印をクリックして Pod をスケールダウンします。
Workloads → Pods → Create Pod に移動し、次の例に示すように Pod 仕様の内容をエディターに貼り付けます。
apiVersion: v1 kind: Pod metadata: name: get-previous-db-version spec: containers: - name: get-previous-db-version image: registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:<rollback version> command: - sh args: - '-c' - "cat /var/lib/stackrox/.previous/migration_version.yaml | grep '^image:' | cut -f 2 -d : | tr -d ' '" volumeMounts: - name: stackrox-db mountPath: /var/lib/stackrox volumes: - name: stackrox-db persistentVolumeClaim: claimName: stackrox-db- Create をクリックします。
- Pod が作成されたら、Logs タブをクリックしてバージョン文字列を取得します。
次の手順を実行して、ロールバック設定を更新します。
- Workloads → ConfigMaps → central-config に移動し、Actions リストから Edit ConfigMap を選択します。
-
central-config.yamlキーの値で、forceRollbackVersion行を見つけます。 -
noneを3.73.3に置き換えて、ファイルを保存します。
次の手順を実行して、Central を以前のバージョンに更新します。
- Workloads → Deployments → central に移動し、Actions リストから Edit Deployment を選択します。
- イメージ名を更新し、変更を保存します。
検証
Central Pod が起動し、
readyステータスになっていることを確認します。Pod がクラッシュした場合は、ログをチェックして、バックアップが復元されたかどうかを確認します。成功した場合のログメッセージは、次の例のように表示されます。Clone to Migrate ".previous", ""
-
ロールバックされたチャネルに Operator を再インストールします。たとえば、
3.71.3はrhacs-3.71チャネルにインストールされます。