This documentation is for a release that is no longer maintained.
You can select a different version or view all RHACS documentation.アップグレード
Red Hat Advanced Cluster Security for Kubernetes のアップグレード
概要
第1章 Helm チャートを使用したアップグレード リンクのコピーリンクがクリップボードにコピーされました!
Helm チャートを使用して Red Hat Advanced Cluster Security for Kubernetes をインストールしていて、Red Hat Advanced Cluster Security for Kubernetes の最新バージョンにアップグレードするには、次の手順を実行する必要があります。
- Helm チャートを更新します。
- central-services Helm チャートの設定ファイルを更新します。
- central-services Helm チャートをアップグレードします。
- secured-cluster-services Helm チャートの設定ファイルを更新します。
- secured-cluster-services Helm チャートをアップグレードします。
最適な機能を確保するには、secure-cluster-services Helm チャートと central-services Helm チャートに同じバージョンを使用してください。
1.1. Helm チャートリポジトリーの更新 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes の新しいバージョンにアップグレードする前に、常に Helm チャートを更新する必要があります。
前提条件
- Red Hat Advanced Cluster Security for Kubernetes の Helm チャートリポジトリーをすでに追加している必要がある。
手順
Red Hat Advanced Cluster Security for Kubernetes チャートリポジトリーを追加します。
helm repo update
$ helm repo updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、追加されたチャートリポジトリーを確認します。
helm search repo -l rhacs/
$ helm search repo -l rhacs/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.3. central-services Helm チャートをデプロイした後の設定オプションの変更 リンクのコピーリンクがクリップボードにコピーされました!
central-services Helm チャートをデプロイした後、任意の設定オプションに変更を加えることができます。
手順
-
values-public.yamlおよびvalues-private.yaml設定ファイルを新しい値で更新します。 helm upgradeコマンドを実行し、-fオプションを使用して設定ファイルを指定します。helm upgrade -n stackrox \ stackrox-central-services rhacs/central-services \ -f <path_to_values_public.yaml> \ -f <path_to_values_private.yaml>
$ helm upgrade -n stackrox \ stackrox-central-services rhacs/central-services \ -f <path_to_values_public.yaml> \ -f <path_to_values_private.yaml>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記--setまたは--set-fileパラメーターを使用して設定値を指定することもできます。ただし、これらのオプションは保存されないため、変更を加えるたびにすべてのオプションを手動で再度指定する必要があります。
1.4. secure-cluster-services Helm チャートをデプロイした後の設定オプションの変更 リンクのコピーリンクがクリップボードにコピーされました!
secure-cluster-services Helm チャートをデプロイした後、任意の設定オプションに変更を加えることができます。
手順
-
values-public.yamlおよびvalues-private.yaml設定ファイルを新しい値で更新します。 helm upgradeコマンドを実行し、-fオプションを使用して設定ファイルを指定します。helm upgrade -n stackrox \ stackrox-secured-cluster-services rhacs/secured-cluster-services \ --reuse-values \ -f <path_to_values_public.yaml> \ -f <path_to_values_private.yaml>
$ helm upgrade -n stackrox \ stackrox-secured-cluster-services rhacs/secured-cluster-services \ --reuse-values \1 -f <path_to_values_public.yaml> \ -f <path_to_values_private.yaml>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
--reuse-valuesパラメーターを指定する必要があります。指定しない場合、Helm upgrade コマンドは以前に設定されたすべての設定をリセットします。
注記--setまたは--set-fileパラメーターを使用して設定値を指定することもできます。ただし、これらのオプションは保存されないため、変更を加えるたびにすべてのオプションを手動で再度指定する必要があります。
第2章 roxctl CLI を使用して手動でアップグレード リンクのコピーリンクがクリップボードにコピーされました!
サポートされている古いバージョンから、Red Hat Advanced Cluster Security for Kubernetes の最新バージョンにアップグレードできます。
Red Hat Advanced Cluster Security for Kubernetes を最新バージョンにアップグレードするには、以下を実行する必要があります。
- Central データベースをバックアップする
- Central をアップグレードする
-
roxctlCLI をアップグレードする - スキャナーをアップグレードする
- 保護されたすべてのクラスターがアップグレードされていることを確認する
2.1. Central データベースのバックアップ リンクのコピーリンクがクリップボードにコピーされました!
Central データベースをバックアップし、そのバックアップを使用して、インフラストラクチャーの障害が発生した場合に、失敗したアップグレードまたはデータの復元からロールバックすることができます。
前提条件
-
Red Hat Advanced Cluster Security for Kubernetes のすべてのリソースに対する
read権限を持つ API トークンがある。Analyst システムロールには、すべてのリソースに対するread権限がある。 -
roxctlCLI をインストールした。 -
ROX_API_TOKENおよびROX_CENTRAL_ADDRESS環境変数を設定した。
手順
backup コマンドを実行します。
Red Hat Advanced Cluster Security for Kubernetes 3.0.55 以降の場合:
roxctl -e "$ROX_CENTRAL_ADDRESS" central backup
$ roxctl -e "$ROX_CENTRAL_ADDRESS" central backupCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Advanced Cluster Security for Kubernetes 3.0.54 以前の場合:
roxctl -e "$ROX_CENTRAL_ADDRESS" central db backup
$ roxctl -e "$ROX_CENTRAL_ADDRESS" central db backupCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2. Central クラスターのアップグレード リンクのコピーリンクがクリップボードにコピーされました!
Central データベースをバックアップしたら、次のステップは Central クラスターをアップグレードすることです。この手順には、Central、roxctl CLI、および Scanner のアップグレードが含まれます。
2.2.1. Central のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
更新されたイメージをダウンロードしてデプロイすることにより、Central を最新バージョンに更新できます。
前提条件
- プライベートイメージレジストリーからイメージをデプロイする場合は、最初に新しいイメージをプライベートレジストリーにプッシュしてから、このセクションのコマンドのイメージレジストリーを置き換えます。
手順
次のコマンドを実行して、Central をアップグレードします。
oc -n stackrox patch deploy/central -p '{"spec":{"template":{"spec":{"containers":[{"name":"central","env":[{"name":"ROX_NAMESPACE","valueFrom":{"fieldRef":{"fieldPath":"metadata.namespace"}}}]}]}}}}'$ oc -n stackrox patch deploy/central -p '{"spec":{"template":{"spec":{"containers":[{"name":"central","env":[{"name":"ROX_NAMESPACE","valueFrom":{"fieldRef":{"fieldPath":"metadata.namespace"}}}]}]}}}}'1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Kubernetes を使用する場合は、
ocの代わりにkubectlと入力します。
oc -n stackrox patch deployment/scanner -p '{"spec":{"template":{"spec":{"containers":[{"name":"scanner","securityContext":{"runAsUser":65534}}]}}}}'$ oc -n stackrox patch deployment/scanner -p '{"spec":{"template":{"spec":{"containers":[{"name":"scanner","securityContext":{"runAsUser":65534}}]}}}}'1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Kubernetes を使用する場合は、
ocの代わりにkubectlと入力します。
oc -n stackrox set image deploy/central central=registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:3.71.3
$ oc -n stackrox set image deploy/central central=registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:3.71.31 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Kubernetes を使用する場合は、
ocの代わりにkubectlと入力します。
重要Red Hat Advanced Cluster Security for Kubernetes 3.65.0 からアップグレードする場合は、次の追加コマンドを実行して、
stackrox-central-diagnosticsロールを作成する必要があります。oc -n stackrox patch role stackrox-central-diagnostics -p '{"rules":[{"apiGroups":["*"],"resources":["deployments","daemonsets","replicasets","configmaps","services"],"verbs":["get","list"]}]}'$ oc -n stackrox patch role stackrox-central-diagnostics -p '{"rules":[{"apiGroups":["*"],"resources":["deployments","daemonsets","replicasets","configmaps","services"],"verbs":["get","list"]}]}'1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Kubernetes を使用する場合は、
ocの代わりにkubectlと入力します。
Helm または Operator を使用して Red Hat Advanced Cluster Security for Kubernetes をインストールしておらず、OpenShift OAuth サーバーを使用して認証を有効にする場合は、次の追加コマンドを実行する必要があります。
oc -n stackrox set env deploy/central ROX_ENABLE_OPENSHIFT_AUTH=true
$ oc -n stackrox set env deploy/central ROX_ENABLE_OPENSHIFT_AUTH=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
新しい Pod がデプロイされていることを確認します。
oc get deploy -n stackrox -o wide
$ oc get deploy -n stackrox -o wide1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Kubernetes を使用する場合は、
ocの代わりにkubectlと入力します。
oc get pod -n stackrox --watch
$ oc get pod -n stackrox --watch1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Kubernetes を使用する場合は、
ocの代わりにkubectlと入力します。
2.2.2. roxctl CLI のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
roxctl CLI を最新バージョンにアップグレードするには、既存のバージョンの roxctl CLI をアンインストールしてから、最新バージョンの roxctl CLI をインストールする必要があります。
2.2.2.1. roxctl CLI のアンインストール リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、Linux に roxctl CLI バイナリーをアンインストールできます。
手順
roxctlバイナリーを見つけて削除します。ROXPATH=$(which roxctl) && rm -f $ROXPATH
$ ROXPATH=$(which roxctl) && rm -f $ROXPATH1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 環境によっては、
roxctlバイナリーを削除するために管理者権限が必要になる場合があります。
2.2.2.2. Linux への roxctl CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、Linux に roxctl CLI バイナリーをインストールできます。
手順
roxctlCLI の最新バージョンをダウンロードします。curl -O https://mirror.openshift.com/pub/rhacs/assets/3.71.3/bin/Linux/roxctl
$ curl -O https://mirror.openshift.com/pub/rhacs/assets/3.71.3/bin/Linux/roxctlCopy to Clipboard Copied! Toggle word wrap Toggle overflow roxctlバイナリーを実行可能にします。chmod +x roxctl
$ chmod +x roxctlCopy to Clipboard Copied! Toggle word wrap Toggle overflow PATH上にあるディレクトリーにroxctlバイナリーを配置します。PATHを確認するには、以下のコマンドを実行します。echo $PATH
$ echo $PATHCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
インストールした
roxctlのバージョンを確認します。roxctl version
$ roxctl versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.2.3. macOS への roxctl CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、roxctl CLI バイナリーを macOS にインストールできます。
手順
roxctlCLI の最新バージョンをダウンロードします。curl -O https://mirror.openshift.com/pub/rhacs/assets/3.71.3/bin/Darwin/roxctl
$ curl -O https://mirror.openshift.com/pub/rhacs/assets/3.71.3/bin/Darwin/roxctlCopy to Clipboard Copied! Toggle word wrap Toggle overflow バイナリーからすべての拡張属性を削除します。
xattr -c roxctl
$ xattr -c roxctlCopy to Clipboard Copied! Toggle word wrap Toggle overflow roxctlバイナリーを実行可能にします。chmod +x roxctl
$ chmod +x roxctlCopy to Clipboard Copied! Toggle word wrap Toggle overflow PATH上にあるディレクトリーにroxctlバイナリーを配置します。PATHを確認するには、以下のコマンドを実行します。echo $PATH
$ echo $PATHCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
インストールした
roxctlのバージョンを確認します。roxctl version
$ roxctl versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.2.4. Windows への roxctl CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、roxctl CLI バイナリーを Windows にインストールできます。
手順
roxctlCLI の最新バージョンをダウンロードします。curl -O https://mirror.openshift.com/pub/rhacs/assets/3.71.3/bin/Windows/roxctl.exe
$ curl -O https://mirror.openshift.com/pub/rhacs/assets/3.71.3/bin/Windows/roxctl.exeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
インストールした
roxctlのバージョンを確認します。roxctl version
$ roxctl versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow
roxctl CLI をアップグレードした後、Scanner をアップグレードできます。
2.2.3. Scanner のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
roxctl CLI を使用して、Scanner を最新バージョンに更新できます。
前提条件
- プライベートイメージレジストリーからイメージをデプロイする場合は、最初に新しいイメージをプライベートレジストリーにプッシュしてから、次のセクションのコマンドを編集して、プライベートイメージレジストリーの名前を使用する必要があります。
手順
カスタムスキャナー設定を作成した場合は、スキャナー設定ファイルを更新する前に、これらの変更を適用する必要があります。
次の
roxctlコマンドを使用してスキャナーを生成します。roxctl -e "$ROX_CENTRAL_ADDRESS" scanner generate
$ roxctl -e "$ROX_CENTRAL_ADDRESS" scanner generateCopy to Clipboard Copied! Toggle word wrap Toggle overflow TLS シークレット YAML ファイルを適用します。
OpenShift Container Platform を使用する場合は、以下のコマンドを入力します。
oc apply -f scanner-bundle/scanner/02-scanner-03-tls-secret.yaml
$ oc apply -f scanner-bundle/scanner/02-scanner-03-tls-secret.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Kubernetes を使用する場合は、次のコマンドを入力します。
kubectl apply -f scanner-bundle/scanner/02-scanner-03-tls-secret.yaml
$ kubectl apply -f scanner-bundle/scanner/02-scanner-03-tls-secret.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
スキャナー設定 YAML ファイルを適用します。
OpenShift Container Platform を使用する場合は、以下のコマンドを入力します。
oc apply -f scanner-bundle/scanner/02-scanner-04-scanner-config.yaml
$ oc apply -f scanner-bundle/scanner/02-scanner-04-scanner-config.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Kubernetes を使用する場合は、次のコマンドを入力します。
kubectl apply -f scanner-bundle/scanner/02-scanner-04-scanner-config.yaml
$ kubectl apply -f scanner-bundle/scanner/02-scanner-04-scanner-config.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Scanner イメージを更新します。
OpenShift Container Platform を使用する場合は、以下のコマンドを入力します。
oc -n stackrox set image deploy/scanner scanner=registry.redhat.io/advanced-cluster-security/rhacs-scanner-rhel8:3.71.3
$ oc -n stackrox set image deploy/scanner scanner=registry.redhat.io/advanced-cluster-security/rhacs-scanner-rhel8:3.71.3Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kubernetes を使用する場合は、次のコマンドを入力します。
kubectl -n stackrox set image deploy/scanner scanner=registry.redhat.io/advanced-cluster-security/rhacs-scanner-rhel8:3.71.3
$ kubectl -n stackrox set image deploy/scanner scanner=registry.redhat.io/advanced-cluster-security/rhacs-scanner-rhel8:3.71.3Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Scanner データベースイメージを更新します。
OpenShift Container Platform を使用する場合は、以下のコマンドを入力します。
oc -n stackrox set image deploy/scanner-db db=registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8:3.71.3 init-db=registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8:3.71.3
$ oc -n stackrox set image deploy/scanner-db db=registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8:3.71.3 init-db=registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8:3.71.3Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kubernetes を使用する場合は、次のコマンドを入力します。
kubectl -n stackrox set image deploy/scanner-db db=registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8:3.71.3 init-db=registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8:3.71.3
$ kubectl -n stackrox set image deploy/scanner-db db=registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8:3.71.3 init-db=registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8:3.71.3Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
新しい Pod が正常にデプロイされたことを確認します。
OpenShift Container Platform を使用する場合は、以下のコマンドを入力します。
oc get pod -n stackrox --watch
$ oc get pod -n stackrox --watchCopy to Clipboard Copied! Toggle word wrap Toggle overflow Kubernetes を使用する場合は、次のコマンドを入力します。
kubectl get pod -n stackrox --watch
$ kubectl get pod -n stackrox --watchCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.3.1. RHACS バージョン 3.71 へのアップグレード リンクのコピーリンクがクリップボードにコピーされました!
roxctl CLI および YAML ファイルを使用して RHACS 3.71 にアップグレードする場合は、いくつかの追加手順を実行する必要があります。Scanner DB イメージは、scanner-db-password Kubernetes Secret を db Scanner DB コンテナーにマウントしなくなりました。代わりに、scanner-db-password は init コンテナー init-db でのみ使用されます。したがって、POSTGRES_PASSWORD_FILE 環境変数を init コンテナー設定に追加する必要があります。init コンテナーは、scanner-db-tls-volume および scanner-db-password ボリュームもマウントする必要があります。以下のセクションでは、OpenShift Container Platform または Kubernetes を使用している場合の RHACS のアップグレード手順を説明します。init コンテナーの詳細については、Kubernetes のドキュメント を参照してください。
前提条件
-
この手順では、Scanner DB 設定の
dbコンテナーがindex 0にあると想定している。これは、containersリストの最初のエントリーである。また、scanner-db-passwordボリュームマウントは、3 番目のエントリーであるindex 2にある。
このシナリオはほとんどの展開に当てはまりますが、これらのコマンドを入力する前に Scanner DB の設定を確認してください。値が異なる場合は、次のコマンドで …/containers/x/volumeMounts/y の値を調整する必要があります。
手順
パッチを適用します。
OpenShift Container Platform を使用する場合は、以下のコマンドを入力します。
oc -n stackrox patch deployment.apps/scanner-db --patch '{"spec":{"template":{"spec":{"initContainers":[{"name":"init-db","env":[{"name":"POSTGRES_PASSWORD_FILE","value":"/run/secrets/stackrox.io/secrets/password"}],"command":["/usr/local/bin/docker-entrypoint.sh","postgres","-c","config_file=/etc/postgresql.conf"],"volumeMounts":[{"name":"db-data","mountPath":"/var/lib/postgresql/data"},{"name":"scanner-db-tls-volume","mountPath":"/run/secrets/stackrox.io/certs","readOnly":true},{"name":"scanner-db-password","mountPath":"/run/secrets/stackrox.io/secrets","readOnly":true}],"securityContext":{"runAsGroup":70,"runAsNonRoot":true,"runAsUser":70}}]}}}}'$ oc -n stackrox patch deployment.apps/scanner-db --patch '{"spec":{"template":{"spec":{"initContainers":[{"name":"init-db","env":[{"name":"POSTGRES_PASSWORD_FILE","value":"/run/secrets/stackrox.io/secrets/password"}],"command":["/usr/local/bin/docker-entrypoint.sh","postgres","-c","config_file=/etc/postgresql.conf"],"volumeMounts":[{"name":"db-data","mountPath":"/var/lib/postgresql/data"},{"name":"scanner-db-tls-volume","mountPath":"/run/secrets/stackrox.io/certs","readOnly":true},{"name":"scanner-db-password","mountPath":"/run/secrets/stackrox.io/secrets","readOnly":true}],"securityContext":{"runAsGroup":70,"runAsNonRoot":true,"runAsUser":70}}]}}}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kubernetes を使用する場合は、次のコマンドを入力します。
kubectl -n stackrox patch deployment.apps/scanner-db --patch '{"spec":{"template":{"spec":{"initContainers":[{"name":"init-db","env":[{"name":"POSTGRES_PASSWORD_FILE","value":"/run/secrets/stackrox.io/secrets/password"}],"command":["/usr/local/bin/docker-entrypoint.sh","postgres","-c","config_file=/etc/postgresql.conf"],"volumeMounts":[{"name":"db-data","mountPath":"/var/lib/postgresql/data"},{"name":"scanner-db-tls-volume","mountPath":"/run/secrets/stackrox.io/certs","readOnly":true},{"name":"scanner-db-password","mountPath":"/run/secrets/stackrox.io/secrets","readOnly":true}],"securityContext":{"runAsGroup":70,"runAsNonRoot":true,"runAsUser":70}}]}}}}'$ kubectl -n stackrox patch deployment.apps/scanner-db --patch '{"spec":{"template":{"spec":{"initContainers":[{"name":"init-db","env":[{"name":"POSTGRES_PASSWORD_FILE","value":"/run/secrets/stackrox.io/secrets/password"}],"command":["/usr/local/bin/docker-entrypoint.sh","postgres","-c","config_file=/etc/postgresql.conf"],"volumeMounts":[{"name":"db-data","mountPath":"/var/lib/postgresql/data"},{"name":"scanner-db-tls-volume","mountPath":"/run/secrets/stackrox.io/certs","readOnly":true},{"name":"scanner-db-password","mountPath":"/run/secrets/stackrox.io/secrets","readOnly":true}],"securityContext":{"runAsGroup":70,"runAsNonRoot":true,"runAsUser":70}}]}}}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
パスを削除します。
OpenShift Container Platform を使用する場合は、以下のコマンドを入力します。
oc -n stackrox patch deployment.apps/scanner-db --type json --patch '[{"op":"remove","path":"/spec/template/spec/containers/0/volumeMounts/2"}]'$ oc -n stackrox patch deployment.apps/scanner-db --type json --patch '[{"op":"remove","path":"/spec/template/spec/containers/0/volumeMounts/2"}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kubernetes を使用する場合は、次のコマンドを入力します。
kubectl -n stackrox patch deployment.apps/scanner-db --type json --patch '[{"op":"remove","path":"/spec/template/spec/containers/0/volumeMounts/2"}]'$ kubectl -n stackrox patch deployment.apps/scanner-db --type json --patch '[{"op":"remove","path":"/spec/template/spec/containers/0/volumeMounts/2"}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.4. Central クラスターのアップグレードの確認 リンクのコピーリンクがクリップボードにコピーされました!
Central と Scanner の両方をアップグレードした後、Central クラスターのアップグレードが完了していることを確認します。
手順
Central ログを確認します。
OpenShift Container Platform を使用している場合は、次のコマンドを入力します。
oc logs -n stackrox deploy/central -c central
$ oc logs -n stackrox deploy/central -c centralCopy to Clipboard Copied! Toggle word wrap Toggle overflow Kubernetes を使用している場合は、次のコマンドを入力します。
kubectl logs -n stackrox deploy/central -c central
$ kubectl logs -n stackrox deploy/central -c centralCopy to Clipboard Copied! Toggle word wrap Toggle overflow
正常なアップグレードのサンプル出力
2.3. 保護されたすべてのクラスターのアップグレード リンクのコピーリンクがクリップボードにコピーされました!
Central サービスをアップグレードした後、すべての保護されたクラスターをアップグレードする必要があります。
自動アップグレードを使用している場合は、以下を行います。
- 自動アップグレードを使用して、保護されたすべてのクラスターを更新します。
- このセクションの手順をスキップして、アップグレードの確認 および API トークンの取り消し セクションの手順に従ってください。
自動アップグレードを使用していない場合は、Central クラスターを含むすべての保護されたクラスターでこのセクションの手順を実行する必要があります。
- 最適な機能を確保するには、セキュアなクラスターと Central がインストールされているクラスターに同じ RHACS バージョンを使用してください。
Sensor、Collector、および Admission コントローラーを実行しているセキュリティーで保護された各クラスターの手動アップグレードを完了するには、このセクションの手順に従ってください。
2.3.1. 準備状態 (readiness) プローブを更新 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes 3.65.0 より前のバージョンからアップグレードする場合は、次の追加コマンドを実行して、readiness プローブパスを更新する必要があります。3.65 よりも新しいバージョンを実行している場合は、この手順をスキップしてください。
手順
readiness プローブパスを更新します。
oc -n stackrox patch deploy/sensor -p '{"spec":{"template":{"spec":{"containers":[{"name":"sensor","readinessProbe":{"httpGet":{"path":"/ready"}}}]}}}}'$ oc -n stackrox patch deploy/sensor -p '{"spec":{"template":{"spec":{"containers":[{"name":"sensor","readinessProbe":{"httpGet":{"path":"/ready"}}}]}}}}'1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Kubernetes を使用する場合は、
ocの代わりにkubectlと入力します。
2.3.2. OpenShift セキュリティーコンテキスト制約の更新 リンクのコピーリンクがクリップボードにコピーされました!
アップグレードする Red Hat Advanced Cluster Security for Kubernetes のバージョンに応じて、特定の OpenShift Container Platform セキュリティーコンテキスト制約 (SCC) を更新する必要があります。
このセクションのコマンドは、OpenShift Container Platform で Red Hat Advanced Cluster Security for Kubernetes を使用している場合に限り実行してください。それ以外の場合は、このセクションの手順をスキップしてください。
手順
Red Hat Advanced Cluster Security for Kubernetes 3.64.0 は SCC の名前を変更します。Red Hat Advanced Cluster Security for Kubernetes 3.64.0 より前のバージョンからアップグレードする場合は、SCC を削除して再適用する必要があります。それ以外の場合は、次の手順をスキップしてください。
次のコマンドを実行して、Central を更新します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete scc central
$ oc delete scc centralCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して Scanner を更新します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete scc scanner
$ oc delete scc scannerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 各 OpenShift Secured Cluster で以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete scc admission-control collector sensor
$ oc delete scc admission-control collector sensorCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3.3. その他のイメージの更新 リンクのコピーリンクがクリップボードにコピーされました!
自動アップグレードを使用しない場合は、セキュリティーで保護された各クラスターのセンサー、コレクター、コンプライアンスイメージを更新する必要があります。
Kubernetes を使用している場合は、この手順にリストされているコマンドに oc の代わりに kubectl を使用してください。
手順
Sensor イメージを更新します。
oc -n stackrox set image deploy/sensor sensor=registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:3.71.3
$ oc -n stackrox set image deploy/sensor sensor=registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:3.71.31 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Kubernetes を使用する場合は、
ocの代わりにkubectlと入力します。
Compliance イメージを更新します。
oc -n stackrox set image ds/collector compliance=registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:3.71.3
$ oc -n stackrox set image ds/collector compliance=registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:3.71.31 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Kubernetes を使用する場合は、
ocの代わりにkubectlと入力します。
Collector イメージを更新します。
oc -n stackrox set image ds/collector collector=registry.redhat.io/advanced-cluster-security/rhacs-collector-rhel8:3.71.3
$ oc -n stackrox set image ds/collector collector=registry.redhat.io/advanced-cluster-security/rhacs-collector-rhel8:3.71.31 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Kubernetes を使用する場合は、
ocの代わりにkubectlと入力します。
注記コレクタースリムイメージを使用している場合は、代わりに次のコマンドを実行します。
oc -n stackrox set image ds/collector collector=registry.redhat.io/advanced-cluster-security/rhacs-collector-slim-rhel8:{rhacs-version}$ oc -n stackrox set image ds/collector collector=registry.redhat.io/advanced-cluster-security/rhacs-collector-slim-rhel8:{rhacs-version}Copy to Clipboard Copied! Toggle word wrap Toggle overflow アドミッションコントロールイメージを更新します。
oc -n stackrox set image deploy/admission-control admission-control=registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:3.71.3
$ oc -n stackrox set image deploy/admission-control admission-control=registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:3.71.3Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3.4. 保護されたクラスターのアップグレードの確認 リンクのコピーリンクがクリップボードにコピーされました!
保護されたクラスターをアップグレードしたら、更新された Pod が機能していることを確認します。
手順
新しい Pod がデプロイされていることを確認します。
oc get deploy,ds -n stackrox -o wide
$ oc get deploy,ds -n stackrox -o wide1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Kubernetes を使用する場合は、
ocの代わりにkubectlと入力します。
oc get pod -n stackrox --watch
$ oc get pod -n stackrox --watch1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Kubernetes を使用する場合は、
ocの代わりにkubectlと入力します。
2.4. Central のロールバック リンクのコピーリンクがクリップボードにコピーされました!
新しいバージョンへのアップグレードが失敗した場合は、以前のバージョンの Central にロールバックできます。
2.4.1. Central を通常どおりロールバック リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes のアップグレードが失敗した場合は、以前のバージョンの Central にロールバックできます。
前提条件
- Red Hat Advanced Cluster Security for Kubernetes 3.0.57.0 以降を使用している必要がある。
- ロールバックを実行する前に、永続ストレージで使用可能な空きディスク容量が必要である。Red Hat Advanced Cluster Security for Kubernetes は、ディスク領域を使用して、アップグレード中にデータベースのコピーを保持する。ディスク容量がコピーを保存するのに十分でなく、アップグレードが失敗した場合は、以前のバージョンにロールバックすることはできない。
手順
アップグレードが失敗した場合 (Central サービスが開始する前) に、次のコマンドを実行して前のバージョンにロールバックします。
oc -n stackrox rollout undo deploy/central
$ oc -n stackrox rollout undo deploy/central1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Kubernetes を使用する場合は、
ocの代わりにkubectlと入力します。
2.4.2. Central を強制的にロールバックする リンクのコピーリンクがクリップボードにコピーされました!
強制ロールバックを使用して、以前のバージョンの Central にロールバックできます (Central サービスの開始後)。
強制ロールバックを使用して以前のバージョンに戻すと、データと機能が失われる可能性があります。
前提条件
- Red Hat Advanced Cluster Security for Kubernetes 3.0.58.0 以降を使用している必要がある。
- ロールバックを実行する前に、永続ストレージで使用可能な空きディスク容量が必要である。Red Hat Advanced Cluster Security for Kubernetes は、ディスク領域を使用して、アップグレード中にデータベースのコピーを保持する。ディスク容量がコピーを保存するのに十分でなく、アップグレードが失敗した場合は、以前のバージョンにロールバックすることはできない。
手順
次のコマンドを実行して、強制ロールバックを実行します。
以前にインストールしたバージョンに強制的にロールバックするには、以下のコマンドを実行します。
oc -n stackrox rollout undo deploy/central
$ oc -n stackrox rollout undo deploy/central1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Kubernetes を使用する場合は、
ocの代わりにkubectlと入力します。
特定のバージョンに強制的にロールバックするには、以下を行います。
Central の
ConfigMapを編集します。oc -n stackrox edit configmap/central-config
$ oc -n stackrox edit configmap/central-config1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Kubernetes を使用する場合は、
ocの代わりにkubectlと入力します。
maintenance.forceRollbackVersionキーの値を更新します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ロールバックするバージョンを指定します。
Central イメージのバージョンを更新します。
oc -n stackrox \ set image deploy/central central=registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:<x.x.x.x>
$ oc -n stackrox \1 set image deploy/central central=registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:<x.x.x.x>2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.5. アップグレードの確認 リンクのコピーリンクがクリップボードにコピーされました!
更新された Sensor と Collector は、保護された各クラスターからの最新データを引き続き報告します。
Sensor が Central に最後に接続した時刻は、RHACS ポータルに表示されます。
手順
- RHACS ポータルで、Platform Configuration → System Health に移動します。
- Sensor Upgrade で、Central で最新のクラスターが表示されることを確認してください。
2.6. API トークンの取り消し リンクのコピーリンクがクリップボードにコピーされました!
セキュリティー上の理由から、Red Hat では、Central データベースのバックアップを完了するために使用した API トークンを取り消すことが推奨されます。
前提条件
- アップグレード後、RHACS ポータルページをリロードし、証明書を再承認して、RHACS ポータルを引き続き使用する必要がある。
手順
- RHACS ポータルで、Platform Configuration → Integrations に移動します。
- Authentication Tokens カテゴリーまで下にスクロールし、API Token をクリックします。
- 取り消すトークン名の前にあるチェックボックスを選択します。
- Revoke をクリックします。
- 確認ダイアログボックスで、Confirm をクリックします。