第9章 RHACS Cloud Service のアップグレード
9.1. Operator を使用した RHACS Cloud Service でのセキュアクラスターのアップグレード
Red Hat は、Central サービスを含む管理対象のコンポーネントに対して定期的なサービス更新を提供します。このサービス更新には、Red Hat Advanced Cluster Security Cloud Service の新しいバージョンへのアップグレードも含まれます。
RHACS Cloud Service との互換性を確保するには、セキュアクラスター上の RHACS のバージョンを定期的にアップグレードする必要があります。
9.1.1. アップグレードへの準備
Red Hat Advanced Cluster Security for Kubernetes (RHACS) のバージョンをアップグレードする前に、次の手順を実行します。
-
アップグレードするクラスターに
SecuredCluster
カスタムリソース (CR) が含まれている場合は、収集方法をCORE_BPF
に変更します。詳細は、「収集方法の変更」を参照してください。
9.1.1.1. 収集方法の変更
アップグレードするクラスターに SecuredCluster
CR が含まれていて、4.1 以降からアップグレードする場合は、アップグレードする前にノードごとの収集設定が CORE_BPF
に設定されていることを確認する必要があります。それ以外の場合は、収集方法を EBPF
に設定します。収集方法を EBPF
に設定するには、アップグレード後に forceCollection
パラメーターを true
に設定し、収集方法が EBPF
であることを確認する必要があります。
手順
- OpenShift Container Platform Web コンソールで、RHACS Operator ページに移動します。
- 上部のナビゲーションメニューで Secured Cluster を選択します。
- インスタンス名 (例: stackrox-secured-cluster-services) をクリックします。
設定を変更するには、次のいずれかの方法を使用します。
-
Form view の Per Node Settings
Collector Settings Collection で、CORE_BPF を選択します。 YAML をクリックして YAML エディターを開き、
spec.perNode.collector.collection
属性を見つけます。値がKernelModule
の場合は、CORE_BPF
に変更します。注記EBPF
は、4.1 より前のバージョンからアップグレードする場合、または EBPF を使用する特別な理由がある場合にのみ使用してください。
-
Form view の Per Node Settings
- Save をクリックします。
9.1.2. セキュアクラスターの Operator アップグレードのロールバック
Operator のアップグレードをロールバックするには、CLI または OpenShift Container Platform Web コンソールのいずれかを使用できます。
セキュアクラスターでは、Operator のアップグレードをロールバックする必要があるのは、セキュアクラスターに問題がある場合など、まれなケースのみです。
9.1.2.1. CLI を使用した Operator アップグレードのロールバック
CLI コマンドを使用して Operator バージョンをロールバックできます。
手順
次のコマンドを実行して、OLM サブスクリプションを削除します。
OpenShift Container Platform の場合、以下のコマンドを実行します。
$ oc -n rhacs-operator delete subscription rhacs-operator
Kubernetes の場合、次のコマンドを実行します。
$ kubectl -n rhacs-operator delete subscription rhacs-operator
次のコマンドを実行して、クラスターサービスバージョン (CSV) を削除します。
OpenShift Container Platform の場合、以下のコマンドを実行します。
$ oc -n rhacs-operator delete csv -l operators.coreos.com/rhacs-operator.rhacs-operator
Kubernetes の場合、次のコマンドを実行します。
$ kubectl -n rhacs-operator delete csv -l operators.coreos.com/rhacs-operator.rhacs-operator
- ロールバックされたチャネルに最新バージョンの Operator をインストールします。
9.1.2.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 は実行を停止し、更新を受信しなくなります。
- ロールバックされたチャネルに最新バージョンの Operator をインストールします。
9.1.3. Operator アップグレードに関する問題のトラブルシューティング
RHACS Operator のアップグレード関連の問題を調査して解決するには、次の手順に従ってください。
9.1.3.1. Central クラスターまたはセキュアクラスターのデプロイに失敗する
RHACS Operator が次の状態にある場合は、カスタムリソースの状態をチェックして問題を見つける必要があります。
- Operator がセキュアクラスターをデプロイできない場合
- Operator が CR の変更を実際のリソースに適用できない場合
セキュアクラスターの場合は、次のコマンドを実行して状態を確認します。
$ oc -n rhacs-operator describe securedclusters.platform.stackrox.io 1
- 1
- Kubernetes を使用する場合は、
oc
の代わりにkubectl
を入力します。
状態の出力から設定エラーを特定できます。
出力例
Conditions: Last Transition Time: 2023-04-19T10:49:57Z Status: False Type: Deployed Last Transition Time: 2023-04-19T10:49:57Z Status: True Type: Initialized Last Transition Time: 2023-04-19T10:59:10Z Message: Deployment.apps "central" is invalid: spec.template.spec.containers[0].resources.requests: Invalid value: "50": must be less than or equal to cpu limit Reason: ReconcileError Status: True Type: Irreconcilable Last Transition Time: 2023-04-19T10:49:57Z Message: No proxy configuration is desired Reason: NoProxyConfig Status: False Type: ProxyConfigFailed Last Transition Time: 2023-04-19T10:49:57Z Message: Deployment.apps "central" is invalid: spec.template.spec.containers[0].resources.requests: Invalid value: "50": must be less than or equal to cpu limit Reason: InstallError Status: True Type: ReleaseFailed
さらに、RHACS Pod のログを表示して、問題に関する詳細情報を見つけることができます。次のコマンドを実行してログを表示します。
oc -n rhacs-operator logs deploy/rhacs-operator-controller-manager manager 1
- 1
- Kubernetes を使用する場合は、
oc
の代わりにkubectl
を入力します。