This documentation is for a release that is no longer maintained.
You can select a different version or view all RHACS documentation.3.3. Central クラスターのアップグレード
Central データベースをバックアップしたら、次のステップは Central クラスターをアップグレードすることです。この手順には、Central、roxctl CLI、および Scanner のアップグレードが含まれます。
3.3.1. Central のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
更新されたイメージをダウンロードしてデプロイすることにより、Central を最新バージョンに更新できます。
3.3.1.1. OpenShift Container Platform での Central のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform に Red Hat Advanced Cluster Security for Kubernetes をインストールした場合は、以下の手順を使用してアップグレードします。
手順
ローカルロールにパッチを適用します。
oc -n stackrox patch role edit -p '{"rules":[{"apiGroups":["*"],"resources":["*"],"verbs":["create","get", "list", "watch", "update", "patch", "delete","deletecollection"]}]}'$ oc -n stackrox patch role edit -p '{"rules":[{"apiGroups":["*"],"resources":["*"],"verbs":["create","get", "list", "watch", "update", "patch", "delete","deletecollection"]}]}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 既存のロールとロールバインディングをクリーンアップします。
oc -n stackrox delete RoleBinding admission-control-use-scc || true
$ oc -n stackrox delete RoleBinding admission-control-use-scc || trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc -n stackrox delete RoleBinding sensor-use-scc || true
$ oc -n stackrox delete RoleBinding sensor-use-scc || trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc -n stackrox delete Role use-anyuid-scc || true
$ oc -n stackrox delete Role use-anyuid-scc || trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow ハードコーディングされたセキュリティーコンテキストを削除して、
sensor、admission-control、restricted[-v2]セキュリティーコンテキスト制約に設定します。oc -n stackrox patch deploy sensor -p '{"spec":{"template":{"spec":{"securityContext":null}}}}'$ oc -n stackrox patch deploy sensor -p '{"spec":{"template":{"spec":{"securityContext":null}}}}'1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Red Hat Advanced Cluster Security for Kubernetes は Pod を自動的に再作成しますが、
sensorの再起動には時間がかかる場合があります。
oc -n stackrox patch deploy admission-control -p '{"spec":{"template":{"spec":{"securityContext":null}}}}'$ oc -n stackrox patch deploy admission-control -p '{"spec":{"template":{"spec":{"securityContext":null}}}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、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"}}}]}]}}}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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}}]}}}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc -n stackrox set image deploy/central central=registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:3.73.5
$ oc -n stackrox set image deploy/central central=registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:3.73.51 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- プライベートイメージレジストリーからイメージをデプロイする場合は、新しいイメージをプライベートレジストリーにプッシュし、ここでイメージレジストリーアドレスを置き換えます。
重要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 wideCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc get pod -n stackrox --watch
$ oc get pod -n stackrox --watchCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3.1.2. Central on Kubernetes のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes を Kubernetes にインストールした場合は、以下の手順を使用してアップグレードします。
前提条件
- プライベートイメージレジストリーからイメージをデプロイする場合は、最初に新しいイメージをプライベートレジストリーにプッシュしてから、次のコマンドでイメージレジストリーを置き換えます。
手順
ローカルロールにパッチを適用します。
kubectl -n stackrox patch role edit -p '{"rules":[{"apiGroups":["*"],"resources":["*"],"verbs":["create","get", "list", "watch", "update", "patch", "delete","deletecollection"]}]}'$ kubectl -n stackrox patch role edit -p '{"rules":[{"apiGroups":["*"],"resources":["*"],"verbs":["create","get", "list", "watch", "update", "patch", "delete","deletecollection"]}]}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Central をアップグレードします。
kubectl -n stackrox patch deploy/central -p '{"spec":{"template":{"spec":{"containers":[{"name":"central","env":[{"name":"ROX_NAMESPACE","valueFrom":{"fieldRef":{"fieldPath":"metadata.namespace"}}}]}]}}}}'$ kubectl -n stackrox patch deploy/central -p '{"spec":{"template":{"spec":{"containers":[{"name":"central","env":[{"name":"ROX_NAMESPACE","valueFrom":{"fieldRef":{"fieldPath":"metadata.namespace"}}}]}]}}}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow kubectl -n stackrox patch deployment/scanner -p '{"spec":{"template":{"spec":{"containers":[{"name":"scanner","securityContext":{"runAsUser":65534}}]}}}}'$ kubectl -n stackrox patch deployment/scanner -p '{"spec":{"template":{"spec":{"containers":[{"name":"scanner","securityContext":{"runAsUser":65534}}]}}}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow kubectl -n stackrox set image deploy/central central=registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:3.73.5
$ kubectl -n stackrox set image deploy/central central=registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:3.73.51 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- プライベートイメージレジストリーからイメージをデプロイする場合は、新しいイメージをプライベートレジストリーにプッシュし、ここでイメージレジストリーアドレスを置き換えます。
検証
新しい Pod がデプロイされたことを確認します。
kubectl get deploy -n stackrox -o wide
$ kubectl get deploy -n stackrox -o wideCopy to Clipboard Copied! Toggle word wrap Toggle overflow kubectl get pod -n stackrox --watch
$ kubectl get pod -n stackrox --watchCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3.2. roxctl CLI のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
roxctl CLI を最新バージョンにアップグレードするには、既存のバージョンの roxctl CLI をアンインストールしてから、最新バージョンの roxctl CLI をインストールする必要があります。
3.3.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バイナリーを削除するために管理者権限が必要になる場合があります。
3.3.2.2. Linux への roxctl CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、Linux に roxctl CLI バイナリーをインストールできます。
手順
roxctlCLI の最新バージョンをダウンロードします。curl -O https://mirror.openshift.com/pub/rhacs/assets/3.73.5/bin/Linux/roxctl
$ curl -O https://mirror.openshift.com/pub/rhacs/assets/3.73.5/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
3.3.2.3. macOS への roxctl CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、roxctl CLI バイナリーを macOS にインストールできます。
手順
roxctlCLI の最新バージョンをダウンロードします。curl -O https://mirror.openshift.com/pub/rhacs/assets/3.73.5/bin/Darwin/roxctl
$ curl -O https://mirror.openshift.com/pub/rhacs/assets/3.73.5/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
3.3.2.4. Windows への roxctl CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、roxctl CLI バイナリーを Windows にインストールできます。
手順
roxctlCLI の最新バージョンをダウンロードします。curl -O https://mirror.openshift.com/pub/rhacs/assets/3.73.5/bin/Windows/roxctl.exe
$ curl -O https://mirror.openshift.com/pub/rhacs/assets/3.73.5/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 をアップグレードできます。
3.3.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.73.5
$ oc -n stackrox set image deploy/scanner scanner=registry.redhat.io/advanced-cluster-security/rhacs-scanner-rhel8:3.73.5Copy 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.73.5
$ kubectl -n stackrox set image deploy/scanner scanner=registry.redhat.io/advanced-cluster-security/rhacs-scanner-rhel8:3.73.5Copy 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.73.5 init-db=registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8:3.73.5
$ oc -n stackrox set image deploy/scanner-db db=registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8:3.73.5 init-db=registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8:3.73.5Copy 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.73.5 init-db=registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8:3.73.5
$ kubectl -n stackrox set image deploy/scanner-db db=registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8:3.73.5 init-db=registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8:3.73.5Copy 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
3.3.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
3.3.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
正常なアップグレードのサンプル出力