5.4. 他のプラットフォームで RHACS 用のセキュアクラスターサービスをインストールする
次のプラットフォームのセキュアクラスターに Red Hat Advanced Cluster Security for Kubernetes (RHACS) をインストールできます。
- Amazon Elastic Kubernetes Service (Amazon EKS)
- Google Kubernetes Engine (GKE)
- Microsoft Azure Kubernetes Service (Microsoft AKS)
5.4.1. Helm チャートを使用したセキュアクラスターへの RHACS のインストール リンクのコピーリンクがクリップボードにコピーされました!
Helm チャートをカスタマイズせずに使用するか、デフォルト値を使用するか、設定パラメーターをカスタマイズして、セキュアクラスターに RHACS をインストールできます。
5.4.1.1. カスタマイズせずに Helm チャートを使用してセキュアクラスターに RHACS をインストールする リンクのコピーリンクがクリップボードにコピーされました!
5.4.1.1.1. Helm チャートリポジトリーの追加 リンクのコピーリンクがクリップボードにコピーされました!
手順
RHACS チャートリポジトリーを追加します。
$ helm repo add rhacs https://mirror.openshift.com/pub/rhacs/charts/Red Hat Advanced Cluster Security for Kubernetes の Helm リポジトリーには、次のようなさまざまなコンポーネントをインストールするための Helm チャートが含まれています。
集中型コンポーネント (Central および Scanner) をインストールするための Central サービス Helm チャート (
central-services)。注記集中型コンポーネントは 1 回だけデプロイします。同じインストールを使用して複数の別のクラスターを監視できます。
クラスターおよびノードごとのコンポーネント (Sensor、Admission Controller、Collector、および Scanner-slim) をインストールするためのセキュアクラスターサービスの Helm チャート (
secured-cluster-services)。注記モニターする各クラスターにクラスターごとのコンポーネントをデプロイし、モニターするすべてのノードにノードごとのコンポーネントをデプロイします。
検証
次のコマンドを実行して、追加されたチャートリポジトリーを確認します。
$ helm search repo -l rhacs/
5.4.1.1.2. カスタマイズせずに secured-cluster-services Helm チャートをインストールする リンクのコピーリンクがクリップボードにコピーされました!
次の手順に従って、secured-cluster-services Helm チャートをインストールし、クラスターおよびノードごとのコンポーネント (Sensor、Admission controller、Collector、および Scanner-slim) をデプロイします。
前提条件
- クラスター用の RHACS クラスター登録シークレット (CRS) または init バンドルを生成しておく必要があります。
-
Red Hat コンテナーレジストリーへのアクセス権と、認証用のプルシークレットが必要です。
registry.redhat.ioからイメージをダウンロードする方法は、Red Hat コンテナーレジストリーの認証 を参照してください。 - Central サービスを公開するアドレスが必要です。
手順
OpenShift Container Platform クラスターで次のいずれかのコマンドを実行します。
CRS を使用している場合は、次のコマンドを実行します。
$ helm install -n stackrox --create-namespace \ stackrox-secured-cluster-services rhacs/secured-cluster-services \ --set-file crs.file=<crs_file_name.yaml> \ -f <path_to_pull_secret.yaml> \ --set clusterName=<name_of_the_secured_cluster> \ --set centralEndpoint=<endpoint_of_central_service> \ --set scanner.disable=false各項目の説明:
<crs_file_name.yaml>- 生成された CRS が保存されているファイルの名前を指定します。
<path_to_pull_secret.yaml>-
Red Hat Container Registry 認証のプルシークレットのパスを指定します。または、コマンドで
--set imagePullSecrets.username=<your redhat.com username>と--set imagePullSecrets.password=<your redhat.com password>を指定することもできます。 <endpoint_of_central_service>-
Central のアドレスとポート番号を指定します。例:
acs.domain.com:443 --set scanner.disable=false-
scanner.disableパラメーターの値をfalseに設定します。これは、インストール中に Scanner-slim が有効になることを意味します。Kubernetes では、セキュアクラスターサービスに Scanner-slim が含まれるようになりました。
init バンドルを使用している場合は、次のコマンドを実行します。
$ helm install -n stackrox --create-namespace \ stackrox-secured-cluster-services rhacs/secured-cluster-services \ -f <path_to_cluster_init_bundle.yaml> \ -f <path_to_pull_secret.yaml> \ --set clusterName=<name_of_the_secured_cluster> \ --set centralEndpoint=<endpoint_of_central_service> \ --set scanner.disable=false各項目の説明:
<path_to_cluster_init_bundle.yaml>- init バンドルのパスを指定します。
<path_to_pull_secret.yaml>- Red Hat Container Registry 認証のプルシークレットのパスを指定します。
<endpoint_of_central_service>-
Central のアドレスとポート番号を指定します。例:
acs.domain.com:443 --set scanner.disable=false-
scanner.disableパラメーターの値をfalseに設定します。これは、インストール中に Scanner-slim が有効になることを意味します。Kubernetes では、セキュアクラスターサービスに Scanner-slim が含まれるようになりました。
5.4.1.2. カスタマイズした secured-cluster-services Helm チャートの設定 リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、helm install および helm upgrade コマンドで使用できる Helm チャート設定パラメーターを説明します。これらのパラメーターは、--set オプションを使用するか、YAML 設定ファイルを作成することで指定できます。
以下のファイルを作成して、Red Hat Advanced Cluster Security for Kubernetes をインストールするための Helm チャートを設定します。
-
パブリック設定ファイル
values-public.yaml: このファイルを使用して、機密性の低いすべての設定オプションを保存します。 -
プライベート設定ファイル
values-private.yaml: このファイルを使用して、機密性の高いすべての設定オプションを保存します。このファイルはセキュアに保管してください。
secured-cluster-services Helm チャートを使用している間は、チャートの一部である values.yaml ファイルを変更しないでください。
5.4.1.2.1. 設定パラメーター リンクのコピーリンクがクリップボードにコピーされました!
| パラメーター | 説明 |
|---|---|
|
| クラスターの名前です。 |
|
|
Central エンドポイントのアドレス。gRPC に対応していないロードバランサーを使用している場合は、エンドポイントアドレスの前に |
|
|
TLS ハンドシェイク中に Application-Level Protocol Negotiation (ALPN) を適用するには、 |
|
| ポート番号を含む Sensor エンドポイントのアドレスです。 |
|
| Sensor コンテナーのイメージプルポリシーです。 |
|
| Sensor が使用する内部サービス間の TLS 証明書です。 |
|
| Sensor が使用する内部サービス間 TLS 証明書キーです。 |
|
| Sensor コンテナーのメモリー要求です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Sensor コンテナーの CPU 要求です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Sensor コンテナーのメモリー制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Sensor コンテナーの CPU 制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
|
ノードセレクターのラベルを |
|
| taint が付与されたノードをノードセレクターで選択する場合は、このパラメーターを使用して、Sensor に対する taint の toleration の key、value、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
|
|
|
| Collector イメージの名前です。 |
|
| main イメージに使用しているレジストリーのアドレスです。 |
|
| Collector イメージに使用しているレジストリーのアドレスです。 |
|
| Scanner イメージに使用しているレジストリーのアドレスです。 |
|
| Scanner DB イメージに使用しているレジストリーのアドレスです。 |
|
| Scanner V4 イメージに使用しているレジストリーのアドレスです。 |
|
| Scanner V4 DB イメージに使用しているレジストリーのアドレスです。 |
|
|
|
|
| Collector イメージのイメージプルポリシーです。 |
|
|
使用する |
|
|
使用する |
|
|
|
|
| Collector コンテナーのイメージプルポリシーです。 |
|
| Compliance コンテナーのイメージプルポリシーです。 |
|
|
|
|
| Collector コンテナーのメモリー要求です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Collector コンテナーの CPU 要求です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Collector コンテナーのメモリー制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Collector コンテナーの CPU 制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Compliance コンテナーのメモリー要求です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Compliance コンテナーの CPU 要求です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Compliance コンテナーのメモリー制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Compliance コンテナーの CPU 制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Collector が使用する内部サービス間 TLS 証明書です。 |
|
| Collector が使用する内部サービス間 TLS 証明書キーです。 |
|
|
このパラメーターは、適用が有効になっているポリシーを適用するようにアドミッションコントローラーが設定されているかどうかを決定します。RHACS 4.9 でデプロイされた新しいセキュアクラスターの場合、デフォルト値は |
|
|
RHACS 検証 Webhook の評価でエラーまたはタイムアウトが発生した場合に、API サーバー要求を許可するか (フェイルオープン)、ブロックするか (フェイルクローズ) を決定します。有効な値は |
|
| このパラメーターは非推奨となったため、RHACS はその値を無視します。 |
|
| このパラメーターは非推奨となったため、RHACS はその値を無視します。 |
|
| このパラメーターは非推奨となったため、RHACS はその値を無視します。 |
|
|
このパラメーターは非推奨となっています。RHACS はバージョン 4.9 への更新中にその値をチェックし、それを使用して新しい |
|
|
このパラメーターは非推奨となっています。RHACS はバージョン 4.9 への更新中にその値をチェックし、それを使用して新しい |
|
| このパラメーターは非推奨となったため、RHACS はその値を無視します。 |
|
|
アドミッションコントローラーのバイパスを無効にするには、このパラメーターを |
|
| このパラメーターを設定する機能は非推奨となりました。RHACS のタイムアウト期間には事前設定された値が使用されており、これを変更することはできません。このパラメーターは無視されます。 |
|
| Admission Control コンテナーのメモリー要求です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Admission Control コンテナーの CPU 要求です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Admission Control コンテナーのメモリー制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Admission Control コンテナーの CPU 制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
|
ノードセレクターのラベルを |
|
| taint が付与されたノードをノードセレクターで選択する場合は、このパラメーターを使用して、Admission Control に対する taint の toleration の key、value、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
|
アドミッションコントローラー Webhook に特定の |
|
| Admission Control が使用する内部サービス間 TLS 証明書です。 |
|
| Admission Control が使用する内部サービス間 TLS 証明書キーです。 |
|
|
このパラメーターを使用して、デフォルトの |
|
|
|
|
|
|
|
|
|
|
|
非推奨。Collector のデプロイに slim Collector イメージを使用する場合は、 |
|
| Sensor のリソース仕様です。 |
|
| Admission controller のリソース仕様です。 |
|
| Collector のリソース仕様です。 |
|
| Collector の Compliance コンテナーのリソース仕様です。 |
|
|
このオプションを |
|
|
このオプションを |
|
|
このオプションを |
|
|
このオプションを |
|
|
このオプションを |
|
| taint が付与されたノードをノードセレクターで選択する場合は、このパラメーターを使用して、Scanner DB に対する taint の toleration の key、value、および effect を指定します。 |
|
| Collector の Compliance コンテナーのリソース仕様です。 |
|
| このパラメーターを設定すると、Scanner のログレベルを変更できます。このオプションは、トラブルシューティングの目的でのみ使用してください。 |
|
|
このオプションを |
|
| 自動スケーリングのレプリカの最小数です。デフォルトは 2 です。 |
|
| 自動スケーリングのレプリカの最大数です。デフォルトは 5 です。 |
|
|
ノードセレクターのラベルを |
|
| taint が付与されたノードをノードセレクターで選択する場合は、このパラメーターを使用して、Scanner に対する taint の toleration の key、value、および effect を指定します。 |
|
|
ノードセレクターのラベルを |
|
| taint が付与されたノードをノードセレクターで選択する場合は、このパラメーターを使用して、Scanner DB に対する taint の toleration の key、value、および effect を指定します。 |
|
| Scanner コンテナーのメモリー要求。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Scanner コンテナーの CPU 要求。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Scanner コンテナーのメモリー制限。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Scanner コンテナーの CPU 制限。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Scanner DB コンテナーのメモリー要求。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Scanner DB コンテナーの CPU 要求。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Scanner DB コンテナーのメモリー制限。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Scanner DB コンテナーの CPU 制限。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
|
このオプションを |
|
|
ネットワークレベルでセキュリティーを提供するために、RHACS はセキュアクラスターリソースがインストールされている namespace にデフォルトの 警告 デフォルトのネットワークポリシーの作成を無効にすると、RHACS コンポーネント間の通信が切断される可能性があります。デフォルトポリシーの作成を無効にする場合は、この通信を許可するために独自のネットワークポリシーを作成する必要があります。 |
5.4.1.2.1.1. 環境変数 リンクのコピーリンクがクリップボードにコピーされました!
Sensor および Admission controller の環境変数は、次の形式で指定できます。
customize:
envVars:
ENV_VAR1: "value1"
ENV_VAR2: "value2"
customize 設定を使用すると、この Helm チャートによって作成されたすべてのオブジェクトのカスタム Kubernetes メタデータ (ラベルとアノテーション) と、ワークロードの追加の Pod ラベル、Pod アノテーション、コンテナー環境変数を指定できます。
より一般的なスコープ (たとえば、すべてのオブジェクト) で定義されたメタデータを、より狭いスコープ (たとえば、Sensor デプロイメントのみ) で定義されたメタデータでオーバーライドできるという意味で、設定は階層的です。
5.4.1.2.2. カスタマイズした secured-cluster-services Helm チャートのインストール リンクのコピーリンクがクリップボードにコピーされました!
values-public.yaml ファイルと values-private.yaml ファイルを設定したら、secured-cluster-services Helm チャートをインストールして、次のクラスターおよびノードごとのコンポーネントをデプロイします。
- Sensor
- Admission controller
- Collector
- Scanner: StackRox Scanner がインストールされている場合、必要に応じてセキュアクラスターにデプロイする
- Scanner DB: StackRox Scanner がインストールされている場合、必要に応じてセキュアクラスターにデプロイする
- Scanner V4 Indexer および Scanner V4 DB: Scanner V4 がインストールされている場合、必要に応じてセキュアクラスターにデプロイする
前提条件
- クラスター用のクラスター登録シークレット (CRS) または init バンドルを生成しておく必要があります。
-
Red Hat コンテナーレジストリーへのアクセス権と、認証用のプルシークレットが必要です。
registry.redhat.ioからイメージをダウンロードする方法は、Red Hat コンテナーレジストリーの認証 を参照してください。 - Central サービスを公開するアドレスとポート番号が必要です。
手順
以下のコマンドを実行します。
$ helm install -n stackrox \ --create-namespace stackrox-secured-cluster-services rhacs/secured-cluster-services \ -f <name_of_cluster_init_bundle.yaml> \ -f <path_to_values_public.yaml> \ -f <path_to_values_private.yaml> \ --set imagePullSecrets.username=<username> \ --set imagePullSecrets.password=<password>各項目の説明:
<path_to_values_public.yaml>- パブリック YAML 設定ファイルへのパスを指定します。
<path_to_values_private.yaml>- プライベート YAML 設定ファイルへのパスを指定します。
<username>- Red Hat コンテナーレジストリー認証のプルシークレットのユーザー名を指定します。
<password>- Red Hat コンテナーレジストリー認証のプルシークレットのパスワードを指定します。
注記継続的インテグレーション (CI) システムを使用して
secured-cluster-servicesHelm チャートをデプロイするには、CRS または init バンドル YAML ファイルを環境変数としてhelm installコマンドに渡します。$ helm install ... -f <(echo "$INIT_BUNDLE_YAML_SECRET")base64 でエンコードされた変数を使用している場合は、代わりに
helm install … -f <(echo "$INIT_BUNDLE_YAML_SECRET" | base64 --decode)コマンドを使用してください。
5.4.1.3. secured-cluster-services Helm チャートをデプロイした後の設定オプションの変更 リンクのコピーリンクがクリップボードにコピーされました!
secured-cluster-services Helm チャートをデプロイした後、設定オプションを変更できます。
helm upgrade コマンドを使用して変更を加える場合は、次のガイドラインと要件が適用されます。
-
--setまたは--set-fileパラメーターを使用して設定値を指定することもできます。ただし、これらのオプションは保存されないため、変更を加えるたびにすべてのオプションを手動で再度指定する必要があります。 新しいコンポーネントを有効にするなどの一部の変更では、コンポーネントに対して新しい証明書を発行する必要があります。したがって、これらの変更を行う場合は CA を指定する必要があります。
-
CA が初期インストール中に Helm チャートによって生成された場合は、自動的に生成された該当する値をクラスターから取得し、
helm upgradeコマンドで指定する必要があります。central-servicesHelm チャートのインストール後の注記に、自動生成された値を取得するためのコマンドが含まれています。 -
CA が Helm チャートの外部で生成されたものであり、
central-servicesチャートのインストール時にその CA を指定した場合は、helm upgradeコマンドを使用するときに、たとえばhelm upgradeコマンドで--reuse-valuesフラグを使用して、その操作を再度実行する必要があります。
-
CA が初期インストール中に 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>各項目の説明:
--reuse-values-
values_public.yamlファイルとvalues_private.yamlファイルに含まれていない、変更された値を指定します。