3.3. Central クラスターのアップグレード
Central データベースのバックアップを作成し、プロビジョニングバンドルを使用して必要なリソースを生成したら、次に Central クラスターをアップグレードします。このプロセスには、Central と Scanner のアップグレードが含まれます。
3.3.1. Central のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
更新されたイメージをダウンロードしてデプロイすることにより、Central を最新バージョンに更新できます。
手順
次のコマンドを実行して、Central イメージを更新します。
$ oc -n stackrox set image deploy/central central=registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:4.5.91 - 1
- Kubernetes を使用する場合は、
ocの代わりにkubectlを入力します。
検証
新しい Pod がデプロイされたことを確認します。
$ oc get deploy -n stackrox -o wide$ oc get pod -n stackrox --watch
3.3.1.1. Central デプロイメントの GOMEMLIMIT 環境変数の編集 リンクのコピーリンクがクリップボードにコピーされました!
バージョン 4.4 にアップグレードするには、GOMEMLIMIT 環境変数を ROX_MEMLIMIT 環境変数に手動で置き換える必要があります。この変数はデプロイメントごとに編集する必要があります。
手順
Central デプロイメントの変数を編集するには、次のコマンドを実行します。
$ oc -n stackrox edit deploy/central1 - 1
- Kubernetes を使用する場合は、
ocの代わりにkubectlを入力します。
-
GOMEMLIMIT変数をROX_MEMLIMITに置き換えます。 - ファイルを保存します。
3.3.2. Scanner のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
更新されたイメージをダウンロードしてデプロイすることで、Scanner を最新バージョンに更新できます。
Kubernetes を使用している場合は、oc コマンドの代わりに kubectl コマンドを入力します。
手順
カスタム Scanner 設定を作成した場合は、Scanner 設定ファイルを更新する前に、これらの変更を適用する必要があります。
次のコマンドを実行して Scanner を生成します。
$ roxctl -e "$ROX_CENTRAL_ADDRESS" scanner generate次のコマンドを実行して、TLS シークレット YAML ファイルを適用します。
$ oc apply -f scanner-bundle/scanner/02-scanner-03-tls-secret.yaml次のコマンドを実行して、スキャナー設定 YAML ファイルを適用します。
$ oc apply -f scanner-bundle/scanner/02-scanner-04-scanner-config.yaml
次のコマンドを実行して、Scanner イメージを更新します。
$ oc -n stackrox set image deploy/scanner \ scanner=registry.redhat.io/advanced-cluster-security/rhacs-scanner-rhel8:4.5.9次のコマンドを実行して、Scanner データベースイメージを更新します。
$ oc -n stackrox set image deploy/scanner-db \ db=registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8:4.5.9 \ init-db=registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8:4.5.9
検証
次のコマンドを実行して、新しい Pod がデプロイされたことを確認します。
$ oc get deploy -n stackrox -o wide$ oc get pod -n stackrox --watch
3.3.2.1. Scanner デプロイメントの GOMEMLIMIT 環境変数の編集 リンクのコピーリンクがクリップボードにコピーされました!
バージョン 4.4 にアップグレードするには、GOMEMLIMIT 環境変数を ROX_MEMLIMIT 環境変数に手動で置き換える必要があります。この変数はデプロイメントごとに編集する必要があります。
手順
次のコマンドを実行して、Scanner デプロイメントの変数を編集します。
$ oc -n stackrox edit deploy/scanner1 - 1
- Kubernetes を使用する場合は、
ocの代わりにkubectlを入力します。
-
GOMEMLIMIT変数をROX_MEMLIMITに置き換えます。 - ファイルを保存します。
3.3.3. Central クラスターのアップグレードの確認 リンクのコピーリンクがクリップボードにコピーされました!
Central と Scanner の両方をアップグレードした後、Central クラスターのアップグレードが完了していることを確認します。
手順
次のコマンドを実行して、Central ログを確認します。
$ oc logs -n stackrox deploy/central -c central1 - 1
- Kubernetes を使用する場合は、
ocの代わりにkubectlを入力します。
正常なアップグレードのサンプル出力
No database restore directory found (this is not an error).
Migrator: 2023/04/19 17:58:54: starting DB compaction
Migrator: 2023/04/19 17:58:54: Free fraction of 0.0391 (40960/1048576) is < 0.7500. Will not compact
badger 2023/04/19 17:58:54 INFO: All 1 tables opened in 2ms
badger 2023/04/19 17:58:55 INFO: Replaying file id: 0 at offset: 846357
badger 2023/04/19 17:58:55 INFO: Replay took: 50.324µs
badger 2023/04/19 17:58:55 DEBUG: Value log discard stats empty
Migrator: 2023/04/19 17:58:55: DB is up to date. Nothing to do here.
badger 2023/04/19 17:58:55 INFO: Got compaction priority: {level:0 score:1.73 dropPrefix:[]}
version: 2023/04/19 17:58:55.189866 ensure.go:49: Info: Version found in the DB was current. We’re good to go!