第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 が含まれている場合は、アップグレードする前に、ノードごとのコレクション設定が CORE_BPF に設定されていることを確認する必要があります。
手順
- 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またはEBPFの場合は、CORE_BPFに変更します。
-
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 バージョンをロールバックできます。
手順
Operator Lifecycle Manager (OLM) サブスクリプションとクラスターサービスバージョン (CSV) を削除します。
重要Kubernetes を使用する場合は、
ocの代わりにkubectlを入力します。OLM サブスクリプションを削除するには、次のコマンドを実行します。
$ oc -n rhacs-operator delete subscription rhacs-operator出力例
subscription.operators.coreos.com "rhacs-operator" deletedCSV を削除するには、次のコマンドを実行します。
$ oc -n rhacs-operator delete csv -l operators.coreos.com/rhacs-operator.rhacs-operator出力例
clusterserviceversion.operators.coreos.com "rhacs-operator.v4.8.4" deleted
- ロールバックされたチャネルに最新バージョンの Operator をインストールします。
9.1.2.2. Web コンソールを使用した Operator アップグレードのロールバック リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Web コンソールを使用して Operator バージョンをロールバックできます。
前提条件
-
cluster-adminパーミッションを持つアカウントを使用して OpenShift Container Platform クラスター Web コンソールにアクセスできる。
手順
-
OpenShift Web コンソールで Ecosystem
Installed Operators をクリックします。 - プロジェクトのリストから rhacs-operator を選択します。
Advanced Cluster Security for Kubernetes Operator を見つけます。
オーバーフローメニュー
Uninstall Operator をクリックします。 Operator のアンインストールダイアログが表示されます。
- Red Hat Advanced Cluster Security for Kubernetes (RHACS) のアンインストールを回避するために、Delete all operand instances for this operator チェックボックスがオフになっていることを確認します。
- Uninstall をクリックします。
- ロールバックされたチャネルに最新バージョンの 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.io1 - 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
- Kubernetes を使用する場合は、
ocの代わりにkubectlを入力します。