4.2. オプション - Operator を使用した RHACS の Central 設定オプションの設定
このトピックでは、Operator を使用して設定できる任意の設定オプションについて説明します。
4.2.1. Operator を使用した Central 設定オプション
Central インスタンスを作成すると、Operator は Central
カスタムリソースの次の設定オプションをリスト表示します。
次の表には、外部 PostgreSQL データベース (テクノロジープレビュー) の設定が含まれています。
外部 PostgreSQL サポートはテクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品サポートのサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではない場合があります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
4.2.1.1. Central 設定
パラメーター | 説明 |
---|---|
|
|
| デフォルトでは、Central は内部 TLS 証明書のみを提供します。つまり、Ingress またはロードバランサーレベルで TLS 終了を処理する必要があります。Central で TLS を終了し、カスタムサーバー証明書を提供する場合は、証明書と秘密鍵を含むシークレットを指定できます。 |
|
管理者パスワードの自動生成を無効にするには、このパラメーターを |
| ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Central の taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
ロードバランサーを介して Central を公開するには、これを |
| このパラメーターを使用して、ロードバランサーのカスタムポートを指定します。 |
| このパラメーターを使用して、ロードバランサー用に予約されている静的 IP アドレスを指定します。 |
|
これを |
| Central のルートに使用するカスタムホスト名を指定します。OpenShift Container Platform のデフォルト値を受け入れるには、これを未設定のままにします。 |
|
これを |
| これを使用して、明示的なノードポートを指定します。 |
|
Central の監視を有効にするには、 |
| このコンポーネントを特定のノードでのみ実行する場合は、このパラメーターを使用してノードセレクターを設定できます。 |
| ホスト上のディレクトリーに永続データを保存するためのホストパスを指定します。Red Hat はこれの使用を推奨していません。ホストパスを使用する必要がある場合は、ノードセレクターで使用する必要があります。 |
|
永続データを管理するための PVC の名前。指定された名前の PVC が存在しない場合は、作成されます。設定されていない場合、デフォルト値は |
| クレームを通じて作成されたときの永続ボリュームのサイズ。これはデフォルトで自動的に生成されます。 |
| PVC に使用するストレージクラスの名前。クラスターがデフォルトのストレージクラスで設定されていない場合は、このパラメーターの値を指定する必要があります。 |
| このパラメーターを使用して、Central のデフォルトのリソース制限をオーバーライドします。 |
| このパラメーターを使用して、Central のデフォルトのリソースリクエストをオーバーライドします。 |
| このパラメーターを使用して、Central イメージのイメージプルシークレットを指定します。 |
|
|
|
(テクノロジープレビュー): このパラメーターを設定すると Central DB はデプロイされず、Central は指定された接続文字列を使用して接続します。このパラメーターの値を指定する場合は、
|
| ノードセレクターが Taint されたノードを選択する場合、このパラメーターを使用して、Central DB の Taint Toleration キー、値、および効果を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
| ホスト上のディレクトリーに永続データを保存するためのホストパスを指定します。Red Hat はこれの使用を推奨していません。ホストパスを使用する必要がある場合は、ノードセレクターで使用する必要があります。 |
|
永続データを管理するための PVC の名前。指定された名前の PVC が存在しない場合は、作成されます。設定されていない場合、デフォルト値は |
| クレームを通じて作成されたときの永続ボリュームのサイズ。これはデフォルトで自動的に生成されます。 |
| PVC に使用するストレージクラスの名前。クラスターがデフォルトのストレージクラスで設定されていない場合は、このパラメーターの値を指定する必要があります。 |
| このパラメーターを使用して、Central DB のデフォルトのリソース制限をオーバーライドします。 |
| このパラメーターを使用して、Central DB のデフォルトのリソース要求をオーバーライドします。 |
4.2.1.2. Scanner 設定
パラメーター | 説明 |
---|---|
| この Scanner を特定のノードでのみ実行する場合は、このパラメーターを使用してノードセレクターを設定できます。 |
| ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Scanner の taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
| このパラメーターを使用して、scanner のデフォルトのリソース制限をオーバーライドします。 |
| このパラメーターを使用して、scanner のデフォルトのリソースリクエストをオーバーライドします。 |
| 有効にすると、アナライザーレプリカの数は、指定された範囲内で、負荷に応じて動的に管理されます。 |
| アナライザーの自動スケーリング設定で使用するレプリカの最大数を指定します |
| アナライザーの自動スケーリング設定で使用する最低限のレプリカを指定します |
| 自動スケーリングが無効になっている場合、レプリカの数は常にこの値に一致するように設定されます。 |
| このコンポーネントを特定のノードでのみ実行する場合は、このパラメーターを使用してノードセレクターを設定できます。 |
| ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Scanner DB の taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
| このパラメーターを使用して、scanner のデフォルトのリソース制限をオーバーライドします。 |
| このパラメーターを使用して、scanner のデフォルトのリソースリクエストをオーバーライドします。 |
|
スキャナーの監視を有効にするには、 |
| Scanner をデプロイしない場合は、このパラメーターを使用して Scanner を無効にできます。Scanner を無効にすると、このセクションの他のすべての設定は effect を持ちません。Red Hat は、Red Hat Advanced Cluster Security for Kubernetes Scanner を無効にすることを推奨していません。 |
4.2.1.3. 一般およびその他の設定
パラメーター | 説明 |
---|---|
| セキュアクラスターが信頼する追加の信頼できる CA 証明書。これらの証明書は、通常、プライベート認証局を使用してサービスと統合するときに使用されます。 |
|
Central の |
| Central デプロイメントのカスタムアノテーションを指定できます。 |
| 環境変数を設定するための詳細設定。 |
| RHACS をオンラインモードまたはオフラインモードのどちらで実行するかを設定します。オフラインモードでは、脆弱性定義とカーネルモジュールの自動更新は無効になります。 |
|
このオプションを |
| 「Operator とオーバーレイを使用したインストールのカスタマイズ」を参照してください。 |
4.2.2. Operator とオーバーレイを使用したインストールのカスタマイズ
Operator とオーバーレイを使用して RHACS のインストールを調整する方法を説明します。
4.2.2.1. オーバーレイ
Central
または SecuredCluster
のカスタムリソースが特定の低レベル設定オプションをパラメーターとして公開していない場合は、.spec.overlays
フィールドを使用して調整できます。このフィールドを使用して、これらのカスタムリソースによって生成された Kubernetes リソースを修正します。
.spec.overlays
フィールドは一連のパッチで構成されます。パッチはフィールド内のリストの順序で適用されます。これらのパッチは、デプロイメントがクラスターに送信される前に、Kubernetes リソース上で Operator によって処理されます。
Central
と SecuredCluster
の両方の .spec.overlays
フィールドを使用すると、ユーザーは任意の方法で低レベルの Kubernetes リソースを変更できます。この機能は、SecuredCluster
または Central
カスタムリソースを通じて必要なカスタマイズが利用できない場合にのみ使用してください。
.spec.overlays
機能のサポートは限定的です。その主な理由は、この機能が Kubernetes リソースに複雑かつ非常に詳細な変更を加える権限を付与することにあります。Kubernetes リソースは、実装ごとに大幅に異なる場合があります。このレベルのカスタマイズを行うと、標準的な使用シナリオの範囲を超える複雑さが生じるため、広範なサポートを提供することが困難になります。場合によっては、固有の変更を行うことになり、製品のさまざまなバージョンや設定に応じて、Kubernetes システムに予期しない影響が発生する可能性があります。このような変動性があるため、このレベルのカスタマイズのトラブルシューティングを実施し、安定性を確保するには、各個人のセットアップに応じた一定レベルの専門知識と理解が必要です。そのため、この機能を使用すると、ニーズに合わせて的確に Kubernetes リソースを調整できる一方で、特に基盤となる製品のアップグレード変更時には、設定の互換性と安定性を確保するために、より大きな責任を担うことが要求されます。
次の例は、オーバーレイの構造を示しています。
overlays: - apiVersion: v1 kind: ConfigMap name: my-configmap patches: - path: .data value: | key1: data2 key2: data2
overlays:
- apiVersion: v1
kind: ConfigMap
name: my-configmap
patches:
- path: .data
value: |
key1: data2
key2: data2
4.2.2.1.1. オーバーレイの追加
カスタマイズのために、Central
または SecuredCluster
カスタムリソースにオーバーレイを追加できます。変更には、OpenShift CLI (oc
) または OpenShift Container Platform Web コンソールを使用します。
オーバーレイが期待どおりに有効にならない場合は、RHACS Operator ログに構文エラーや問題が記録されていないか確認してください。
4.2.2.2. オーバーレイの例
4.2.2.2.1. Central ServiceAccount の EKS Pod ロール ARN の指定
次の例に示すように、Amazon Elastic Kubernetes Service (EKS) Pod ロールの Amazon Resource Name (ARN) アノテーションを central
ServiceAccount に追加します。
apiVersion: platform.stackrox.io kind: Central metadata: name: central spec: # ... overlays: - apiVersion: v1 kind: ServiceAccount name: central patches: - path: metadata.annotations.eks\.amazonaws\.com/role-arn value: "\"arn:aws:iam:1234:role\""
apiVersion: platform.stackrox.io
kind: Central
metadata:
name: central
spec:
# ...
overlays:
- apiVersion: v1
kind: ServiceAccount
name: central
patches:
- path: metadata.annotations.eks\.amazonaws\.com/role-arn
value: "\"arn:aws:iam:1234:role\""
4.2.2.2.2. Central デプロイメントへの環境変数の注入
次の例に示すように、環境変数を central
デプロイメントに注入します。
apiVersion: platform.stackrox.io kind: Central metadata: name: central spec: # ... overlays: - apiVersion: apps/v1 kind: Deployment name: central patches: - path: spec.template.spec.containers[name:central].env[-1] value: | name: MY_ENV_VAR value: value
apiVersion: platform.stackrox.io
kind: Central
metadata:
name: central
spec:
# ...
overlays:
- apiVersion: apps/v1
kind: Deployment
name: central
patches:
- path: spec.template.spec.containers[name:central].env[-1]
value: |
name: MY_ENV_VAR
value: value
4.2.2.2.3. Ingress ルールを使用したネットワークポリシーの拡張
次の例に示すように、ポート 999 トラフィック用の Ingress ルールを allow-ext-to-central
ネットワークポリシーに追加します。
apiVersion: platform.stackrox.io kind: Central metadata: name: central spec: # ... overlays: - apiVersion: networking.k8s.io/v1 kind: NetworkPolicy name: allow-ext-to-central patches: - path: spec.ingress[-1] value: | ports: - port: 999 protocol: TCP
apiVersion: platform.stackrox.io
kind: Central
metadata:
name: central
spec:
# ...
overlays:
- apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
name: allow-ext-to-central
patches:
- path: spec.ingress[-1]
value: |
ports:
- port: 999
protocol: TCP
4.2.2.2.4. ConfigMap データの変更
次の例に示すように、central-endpoints
ConfigMap のデータを変更します。
apiVersion: platform.stackrox.io kind: Central metadata: name: central spec: # ... overlays: - apiVersion: v1 kind: ConfigMap name: central-endpoints patches: - path: data value: | endpoints.yaml: | disableDefault: false
apiVersion: platform.stackrox.io
kind: Central
metadata:
name: central
spec:
# ...
overlays:
- apiVersion: v1
kind: ConfigMap
name: central-endpoints
patches:
- path: data
value: |
endpoints.yaml: |
disableDefault: false
4.2.2.2.5. Central
デプロイメントへのコンテナーの追加
次の例に示すように、新しいコンテナーを central
デプロイメントに追加します。
apiVersion: platform.stackrox.io kind: Central metadata: name: central spec: # ... overlays: - apiVersion: apps/v1 kind: Deployment name: central patches: - path: spec.template.spec.containers[-1] value: | name: nginx image: nginx ports: - containerPort: 8000 name: http protocol: TCP
apiVersion: platform.stackrox.io
kind: Central
metadata:
name: central
spec:
# ...
overlays:
- apiVersion: apps/v1
kind: Deployment
name: central
patches:
- path: spec.template.spec.containers[-1]
value: |
name: nginx
image: nginx
ports:
- containerPort: 8000
name: http
protocol: TCP