第4章 Red Hat OpenShift への RHACS のインストール
4.1. Red Hat OpenShift に RHACS の Central サービスをインストールする
Central は、RHACS アプリケーション管理インターフェイスとサービスを含むリソースです。データの永続性、API インタラクション、および RHACS ポータルアクセスを処理します。同じ Central インスタンスを使用して、複数の OpenShift Container Platform または Kubernetes クラスターを保護できます。
以下のいずれかの方法を使用して、OpenShift Container Platform または Kubernetes クラスターに Central をインストールできます。
- Operator を使用してインストールする
- Helm チャートを使用してインストールする
-
roxctl
CLI を使用してインストールします (この方法を使用する必要がある特定のインストールが必要でない限り、この方法は使用しないでください)。
4.1.1. Operator を使用して Central をインストールする
4.1.1.1. Red Hat Advanced Cluster Security for Kubernetes Operator のインストール
OpenShift Container Platform に同梱される OperatorHub を使用するのが、Red Hat Advanced Cluster Security for Kubernetes をインストールする最も簡単な方法です。
前提条件
- Operator インストールパーミッションを持つアカウントを使用して OpenShift Container Platform クラスターにアクセスできる。
- OpenShift Container Platform 4.11 以降を使用している。サポートされるプラットフォームおよびアーキテクチャーの詳細は、Red Hat Advanced Cluster Security for Kubernetes Support Matrix を参照してください。RHACS のライフサイクルのサポート情報は、Red Hat Advanced Cluster Security for Kubernetes サポートポリシー を参照してください。
手順
-
Web コンソールで、Operators
OperatorHub ページに移動します。 - Red Hat Advanced Cluster Security for Kubernetes が表示されない場合は、Filter by keyword ボックスに Advanced Cluster Security と入力して、Red Hat Advanced Cluster Security for Kubernetes Operator を検索します。
- 詳細ページを表示するには、Red Hat Advanced Cluster Security for Kubernetes Operator を選択します。
- Operator に関する情報を読み、Install をクリックします。
Install Operator ページで以下を行います。
- Installation mode のデフォルト値を All namespaces on the cluster として保持します。
- Installed namespace フィールドの Operator をインストールする特定の namespace を選択します。Red Hat Advanced Cluster Security for Kubernetes Operator を rhacs-operator namespace にインストールします。
Update approval には、自動更新または手動更新を選択します。
自動更新を選択した場合、Operator の新しいバージョンが利用可能になると、Operator Lifecycle Manager (OLM) は Operator の実行中のインスタンスを自動的にアップグレードします。
手動による更新を選択する場合は、新しいバージョンの Operator が利用可能になると、OLM は更新リクエストを作成します。クラスター管理者は、更新リクエストを手動で承認して、Operator を最新バージョンに更新する必要があります。
重要手動更新を選択した場合、Central がインストールされているクラスターで RHACS Operator を更新するときに、すべてのセキュアクラスターで RHACS Operator を更新する必要があります。最適な機能を確保するには、セキュアクラスターと Central がインストールされているクラスターのバージョンが同じである必要があります。
- Install をクリックします。
検証
-
インストールが完了したら、Operators
Installed Operators に移動して、Red Hat Advanced Cluster Security for Kubernetes Operator が Succeeded ステータスとともにリスト表示されていることを確認します。
次の手順
-
これで rhacs-operator プロジェクトへの Operator のインストールが完了しました。この Operator を使用して、
Central
カスタムリソースをstackrox
プロジェクトにインストール、設定、デプロイします。
4.1.1.2. Operator メソッドを使用した Central のインストール
Red Hat Advanced Cluster Security for Kubernetes の主要コンポーネントは Central と呼ばれます。Central
カスタムリソースを使用して、OpenShift Container Platform に Central をインストールできます。Central は 1 回だけデプロイし、同じ Central インストールを使用して複数の個別のクラスターをモニターできます。
-
Red Hat Advanced Cluster Security for Kubernetes を初めてインストールする場合、
SecuredCluster
カスタムリソースのインストールは Central が生成する証明書に依存するため、最初にCentral
カスタムリソースをインストールする必要があります。 -
Red Hat では、Red Hat Advanced Cluster Security for Kubernetes
Central
カスタムリソースを専用プロジェクトにインストールすることを推奨しています。Red Hat Advanced Cluster Security for Kubernetes Operator をインストールしたプロジェクトにはインストールしないでください。さらに、kube
、openshift
、redhat
で始まる名前のプロジェクトやistio-system
プロジェクトにはインストールしないでください。
前提条件
- OpenShift Container Platform 4.11 以降を使用している。サポートされるプラットフォームおよびアーキテクチャーの詳細は、Red Hat Advanced Cluster Security for Kubernetes Support Matrix を参照してください。RHACS のライフサイクルのサポート情報は、Red Hat Advanced Cluster Security for Kubernetes サポートポリシー を参照してください。
手順
-
OpenShift Container Platform Web コンソールで、Operators
Installed Operators ページに移動します。 - インストールされている Operator のリストから、Red Hat Advanced Cluster Security for Kubernetes Operator を選択します。
推奨される namespace に Operator をインストールした場合、OpenShift Container Platform はプロジェクトを
rhacs-operator
としてリストします。Project: rhacs-operator を選択しCreate project を選択します。 注記-
Operator を別の namespace にインストールした場合、OpenShift Container Platform は
rhacs-operator
の代わりにその namespace の名前を表示します。
-
Operator を別の namespace にインストールした場合、OpenShift Container Platform は
-
新しいプロジェクト名 (たとえば、
stackrox
) を入力し、Create をクリックします。Red Hat は、プロジェクト名としてstackrox
を使用することを推奨します。 - Provided APIs セクションで、Central を選択します。Create Central をクリックします。
オプション: 宣言型設定を使用している場合は、次の方法で Configure via: の横にある YAML view をクリックし、次の例に示すように宣言型設定の情報を追加します。
... spec: central: declarativeConfiguration: configMaps: - name: "<declarative-configs>" 1 secrets: - name: "<sensitive-declarative-configs>" 2 ...
-
Central
カスタムリソースの名前を入力し、適用するラベルを追加します。それ以外の場合は、使用可能なオプションのデフォルト値を受け入れます。 Central で使用可能なオプションを設定できます。
Central コンポーネントの設定:
設定 説明 Administrator password
管理者パスワードを含むシークレット。RHACS にパスワードを生成させない場合は、このフィールドを使用します。
Exposure
ルート、ロードバランサー、またはノードポートを使用して Central を公開するための設定。「Red Hat OpenShift に RHACS の Central サービスをインストールする」の「パブリック設定ファイル」セクションで
central.exposure.<parameter>
の情報を参照してください。User-facing TLS certificate secret
Central で TLS を終端し、カスタムサーバー証明書を提供する場合は、このフィールドを使用します。
Monitoring
Central のモニタリングエンドポイントを設定します。「Red Hat OpenShift に RHACS の Central サービスをインストールする」の「パブリック設定ファイル」セクションで
central.exposeMonitoring
パラメーターを参照してください。Persistence
これらのフィールドは、Central が永続データを保存する方法を設定します。特に Scanner V4 を使用している場合は、最良の結果を得るために永続ボリューム要求 (PVC) を使用してください。「Red Hat OpenShift に RHACS の Central サービスをインストールする」の「パブリック設定ファイル」セクションで
central.persistence.<parameter>
の情報を参照してください。Central DB Settings
データの永続性を含む、Central DB の設定。「Red Hat OpenShift に RHACS の Central サービスをインストールする」の「パブリック設定ファイル」セクションで
central.db.<parameter>
の情報を参照してください。Resources
メモリーと CPU リソースのデフォルト設定をオーバーライドする必要がある場合は、ドキュメントを参照した後で、これらのフィールドを使用してください。詳細は、「インストール」の章の「RHACS のデフォルトのリソース要件」および「RHACS の推奨されるリソース要件」セクションを参照してください。
Tolerations
このパラメーターは、Central を特定のノードでのみ実行するように設定するために使用します。「Red Hat OpenShift に RHACS の Central サービスをインストールする」の「パブリック設定ファイル」セクションで
central.tolerations
パラメーターを参照してください。- Scanner Component Settings: デフォルトのスキャナー (StackRox Scanner とも呼ばれます) の設定。「Red Hat OpenShift に RHACS の Central サービスをインストールする」の「パブリック設定ファイル」セクションで「Scanner」の表を参照してください。
Scanner V4 Component Settings: バージョン 4.4 以降で利用可能なオプションの Scanner V4 スキャナーの設定。現在、デフォルトでは有効になっていません。StackRox Scanner と Scanner V4 の両方を有効にして同時に使用できます。「Red Hat OpenShift に RHACS の Central サービスをインストールする」の「パブリック設定ファイル」セクションで「Scanner V4」の表を参照してください。
重要Scanner V4 はテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat では、実稼働環境での使用を推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Scanner V4 が有効になっている場合、次のオプションを設定できます。
設定 説明 Indexer
イメージのインデックスを作成し、スキャン結果のレポートを作成するプロセス。レプリカと自動スケーリング、リソース、容認を設定できます。デフォルトのリソース値を変更する前に、「インストール」の章の「RHACS のデフォルトのリソース要件」および「RHACS の推奨されるリソース要件」セクションにある「Scanner V4」セクションを参照してください。
Matcher
Indexer からのレポートと、Scanner V4 DB に保存されている脆弱性データとの脆弱性照合を実行するプロセス。レプリカと自動スケーリング、リソース、容認を設定できます。デフォルトのリソース値を変更する前に、「インストール」の章の「RHACS のデフォルトのリソース要件」および「RHACS の推奨されるリソース要件」セクションにある「Scanner V4」セクションを参照してください。
DB
脆弱性データやインデックスレポートなど、Scanner V4 の情報を保存するデータベース。永続性、リソース、容認を設定できます。Scanner V4 を使用している場合は、Central クラスターに永続ボリューム要求 (PVC) が必要です。最良の結果を得るには、セキュアクラスターで PVC を使用することを強く推奨します。デフォルトのリソース値を変更する前に、「インストール」の章の「RHACS のデフォルトのリソース要件」および「RHACS の推奨されるリソース要件」セクションにある「Scanner V4」セクションを参照してください。
- Egress: RHACS をオンライン (接続) モードで実行するかオフライン (非接続) モードで実行するかなど、送信ネットワークトラフィックの設定。
- TLS: このフィールドは、信頼できるルート認証局 (CA) を追加するために使用します。
Advanced configuration: このフィールドを使用すると、次の操作を実行できます。
- 追加のイメージプルシークレットを指定する
- 管理対象 Pod のコンテナーに設定するカスタム環境変数を追加する
- Red Hat OpenShift のモニタリングを有効にする
- Create をクリックします。
クラスター全体のプロキシーを使用している場合、Red Hat Advanced Cluster Security for Kubernetes は、そのプロキシー設定を使用して外部サービスに接続します。
次の手順
- Central インストールを確認します。
- オプション: Central オプションを設定します。
-
Central
リソースとSecuredCluster
リソース間の通信を可能にするクラスターシークレットを含む init バンドルを生成します。このバンドルをダウンロードし、それを使用して保護対象のクラスターにリソースを生成し、バンドルをセキュアに保管する必要があります。 - 監視する各クラスターにセキュアクラスターサービスをインストールします。
4.1.1.3. PostgreSQL インスタンスでのデータベースのプロビジョニング
この手順は任意です。既存の PostgreSQL インフラストラクチャーを使用して、RHACS 用のデータベースをプロビジョニングできます。このセクションの手順を使用して、PostgreSQL データベース環境を設定し、ユーザー、データベース、スキーマ、ロールを作成し、必要な権限を付与します。
手順
新しいユーザーを作成します。
CREATE USER stackrox WITH PASSWORD <password>;
データベースを作成します。
CREATE DATABASE stackrox;
データベースに接続します。
\connect stackrox
ユーザースキーマを作成します。
CREATE SCHEMA stackrox;
(オプション) パブリックでの権限を取り消します。
REVOKE CREATE ON SCHEMA public FROM PUBLIC; REVOKE USAGE ON SCHEMA public FROM PUBLIC; REVOKE ALL ON DATABASE stackrox FROM PUBLIC;
ロールを作成します。
CREATE ROLE readwrite;
ロールへの接続権限を付与します。
GRANT CONNECT ON DATABASE stackrox TO readwrite;
必要な権限を
readwrite
ロールに追加します。GRANT USAGE ON SCHEMA stackrox TO readwrite; GRANT USAGE, CREATE ON SCHEMA stackrox TO readwrite; GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA stackrox TO readwrite; ALTER DEFAULT PRIVILEGES IN SCHEMA stackrox GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO readwrite; GRANT USAGE ON ALL SEQUENCES IN SCHEMA stackrox TO readwrite; ALTER DEFAULT PRIVILEGES IN SCHEMA stackrox GRANT USAGE ON SEQUENCES TO readwrite;
readwrite
ロールをstackrox
ユーザーに割り当てます。GRANT readwrite TO stackrox;
4.1.1.4. Operator 方式と外部データベースを使用した Central のインストール
Red Hat Advanced Cluster Security for Kubernetes の主要コンポーネントは Central と呼ばれます。Central
カスタムリソースを使用して、OpenShift Container Platform に Central をインストールできます。Central は 1 回だけデプロイし、同じ Central インストールを使用して複数の個別のクラスターをモニターできます。
Red Hat Advanced Cluster Security for Kubernetes を初めてインストールする場合、SecuredCluster
カスタムリソースのインストールは Central が生成する証明書に依存するため、最初に Central
カスタムリソースをインストールする必要があります。
RHACS データベースの詳細は、データベースの対象範囲 を参照してください。
前提条件
- OpenShift Container Platform 4.11 以降を使用している。サポートされている OpenShift Container Platform バージョンの詳細は、Red Hat Advanced Cluster Security for Kubernetes Support Matrix を参照してください。
PostgreSQL 13 をサポートするデータベースインスタンスと、以下のパーミッションを持つユーザーにデータベースが必要です。
- データベースに接続する権限。
-
スキーまでの
Usage
およびCreate
。 -
スキーマ内のすべてのテーブルでの
Select
、Insert
、Update
、およびDelete
。 -
スキーマ内のすべてのシーケンスでの
Usage
。
手順
-
OpenShift Container Platform Web コンソールで、Operators
Installed Operators ページに移動します。 - インストールされている Operator のリストから、Red Hat Advanced Cluster Security for Kubernetes Operator を選択します。
推奨される namespace に Operator をインストールした場合、OpenShift Container Platform はプロジェクトを
rhacs-operator
としてリストします。Project: rhacs-operator を選択しCreate project を選択します。 警告-
別の namespace に Operator をインストールした場合、OpenShift Container Platform は
rhacs-operator
ではなくその namespace の名前を表示します。 -
Red Hat では、Red Hat Advanced Cluster Security for Kubernetes
Central
カスタムリソースを専用プロジェクトにインストールすることを推奨しています。Red Hat Advanced Cluster Security for Kubernetes Operator をインストールしたプロジェクトにはインストールしないでください。さらに、kube
、openshift
、redhat
で始まる名前のプロジェクトやistio-system
プロジェクトにはインストールしないでください。
-
別の namespace に Operator をインストールした場合、OpenShift Container Platform は
-
新しいプロジェクト名 (たとえば、
stackrox
) を入力し、Create をクリックします。Red Hat は、プロジェクト名としてstackrox
を使用することを推奨します。 OpenShift Container Platform Web コンソールまたはターミナルを使用して、デプロイされた namespace にパスワードシークレットを作成します。
-
OpenShift Container Platform Web コンソールで、Workloads
Secrets ページに移動します。キー password
、およびプロビジョニングされたデータベースのスーパーユーザーのパスワードを含むプレーンテキストファイルのパスとしての値を使用して、キー/値のシークレット を作成します。 または、ターミナルで次のコマンドを実行します。
$ oc create secret generic external-db-password \1 --from-file=password=<password.txt> 2
-
OpenShift Container Platform Web コンソールで、Workloads
- OpenShift Container Platform Web コンソールの Red Hat Advanced Cluster Security for Kubernetes Operator ページに戻ります。Provided APIs セクションで、Central を選択します。Create Central をクリックします。
- オプション: 宣言型設定を使用している場合は、Configure via: の横にある YAML view をクリックします。
次の例に示すように、宣言型設定の情報を追加します。
... spec: central: declarativeConfiguration: configMaps: - name: <declarative-configs> 1 secrets: - name: <sensitive-declarative-configs> 2 ...
-
Central
カスタムリソースの名前を入力し、適用するラベルを追加します。 -
Central Component Settings
Central DB Settings に移動します。 -
Administrator Password には、参照されるシークレットを
external-db-password
(または以前に作成したパスワードのシークレット名) として指定します。 -
Connection String には、
keyword=value
形式で接続文字列を指定します。たとえば、host=<host> port=5432 database=stackrox user=stackrox sslmode=verify-ca
です。 -
Persistence
PersistentVolumeClaim Claim Name の場合は、 central-db
を削除します。 必要に応じて、データベース証明書と Central の間に信頼関係が確立されるように、認証局を指定できます。これを追加するには、次の例に示すように、YAML ビューに移動し、最上位仕様の下に TLS ブロックを追加します。
spec: tls: additionalCAs: - name: db-ca content: | <certificate>
- Create をクリックします。
クラスター全体のプロキシーを使用している場合、Red Hat Advanced Cluster Security for Kubernetes は、そのプロキシー設定を使用して外部サービスに接続します。
次の手順
- Central インストールを確認します。
- オプション: Central オプションを設定します。
-
Central
リソースとSecuredCluster
リソース間の通信を可能にするクラスターシークレットを含む init バンドルを生成します。このバンドルをダウンロードし、それを使用して保護対象のクラスターにリソースを生成し、バンドルをセキュアに保管する必要があります。 - 監視する各クラスターにセキュアクラスターサービスをインストールします。
4.1.1.5. Operator 方式を使用した Central インストールの検証
Central のインストールが完了したら、RHACS ポータルにログインして、Central が正常にインストールされたことを確認します。
手順
-
OpenShift Container Platform Web コンソールで、Operators
Installed Operators ページに移動します。 - インストールされている Operator のリストから、Red Hat Advanced Cluster Security for Kubernetes Operator を選択します。
- Central タブを選択します。
-
Centrals リストから、
stackrox-central-services
を選択して詳細を表示します。 admin
ユーザーのパスワードを取得するには、以下のいずれかを行います。- Admin Password Secret Reference のリンクをクリックします。
Red Hat OpenShift CLI を使用して、Admin Credentials Info にリストされているコマンドを入力します。
$ oc -n stackrox get secret central-htpasswd -o go-template='{{index .data "password" | base64decode}}'
Red Hat OpenShift CLI コマンドを使用して、RHACS ポータルへのリンクを見つけます。
$ oc -n stackrox get route central -o jsonpath="{.status.ingress[0].host}"
または、Red Hat Advanced Cluster Security for Kubernetes Web コンソールを使用して、次のコマンドを実行することにより、RHACS ポータルへのリンクを見つけることができます。
-
Networking
Routes をクリックします。 - central ルートを見つけて、Location 列の下にある RHACS ポータルリンクをクリックします。
-
Networking
-
ユーザー名 admin と、前の手順で取得したパスワードを使用して、RHACS ポータルにログインします。RHACS の設定が完了するまで (たとえば、
Central
リソースと少なくとも 1 つのSecuredCluster
リソースをインストールして設定する)、ダッシュボードでデータを使用できません。SecuredCluster
リソースは、Central
リソースと同じクラスターにインストールおよび設定できます。SecuredCluster
リソースを備えたクラスターは、Red Hat Advanced Cluster Management (RHACM) のマネージドクラスターに似ています。
次の手順
- オプション: central 設定を設定します。
-
Central
リソースとSecuredCluster
リソース間の通信を可能にするクラスターシークレットを含む init バンドルを生成します。このバンドルをダウンロードし、それを使用して保護対象のクラスターにリソースを生成し、バンドルをセキュアに保管する必要があります。 - 監視する各クラスターにセキュアクラスターサービスをインストールします。
4.1.2. Helm チャートを使用して Central をインストールする
カスタマイズせずに Helm チャートを使用するか、デフォルト値を使用するか、設定パラメーターをさらにカスタマイズして Helm チャートを使用することにより、Central をインストールできます。
4.1.2.1. カスタマイズせずに Helm チャートを使用して Central をインストールする
RHACS は、カスタマイズせずにクラスターにインストールできます。集中型コンポーネントである Central と Scanner をインストールするために、Helm チャートリポジトリーを追加し、central-services
Helm チャートをインストールする必要があります。
4.1.2.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/
4.1.2.1.2. カスタマイズせずに central-services Helm チャートをインストールする
次の手順を使用して、central-services
Helm チャートをインストールし、集中型コンポーネント (Central および Scanner) をデプロイします。
前提条件
-
Red Hat コンテナーレジストリーにアクセスできる必要があります。
registry.redhat.io
からイメージをダウンロードする方法は、Red Hat コンテナーレジストリーの認証 を参照してください。
手順
次のコマンドを実行して Central services をインストールし、ルートを使用して Central を公開します。
$ helm install -n stackrox \ --create-namespace stackrox-central-services rhacs/central-services \ --set imagePullSecrets.username=<username> \1 --set imagePullSecrets.password=<password> \2 --set central.exposure.route.enabled=true
または、次のコマンドを実行して Central services をインストールし、ロードバランサーを使用して Central を公開します。
$ helm install -n stackrox \ --create-namespace stackrox-central-services rhacs/central-services \ --set imagePullSecrets.username=<username> \1 --set imagePullSecrets.password=<password> \2 --set central.exposure.loadBalancer.enabled=true
または、次のコマンドを実行して Central services をインストールし、port forward を使用して Central を公開します。
$ helm install -n stackrox \ --create-namespace stackrox-central-services rhacs/central-services \ --set imagePullSecrets.username=<username> \1 --set imagePullSecrets.password=<password> 2
外部サービスに接続するためにプロキシーが必要なクラスターに Red Hat Cluster Security for Kubernetes をインストールする場合は、
proxyConfig
パラメーターを使用してプロキシー設定を指定する必要があります。以下に例を示します。env: proxyConfig: | url: http://proxy.name:port username: username password: password excludes: - some.domain
-
インストール先の namespace に 1 つ以上のイメージプルシークレットをすでに作成している場合は、ユーザー名とパスワードを使用する代わりに、
--set imagePullSecrets.useExisting="<pull-secret-1;pull-secret-2>"
を使用できます。 イメージプルシークレットは使用しないでください。
-
quay.io/stackrox-io
または認証を必要としないプライベートネットワークのレジストリーからイメージを取得する場合。ユーザー名とパスワードを指定する代わりに、--set imagePullSecrets.allowNone=true
を使用します。 -
インストールする namespace のデフォルトサービスアカウントでイメージプルシークレットをすでに設定している場合。ユーザー名とパスワードを指定する代わりに、
--set imagePullSecrets.useFromDefaultServiceAccount=true
を使用します。
-
インストールコマンドの出力は次のとおりです。
- 自動的に生成された管理者パスワード。
- すべての設定値を保存するための手順。
- Helm が生成する警告。
4.1.2.2. カスタマイズした Helm チャートを使用して Central をインストールする
helm install
および helm upgrade
コマンドで Helm チャートの設定パラメーターを使用することで、Red Hat OpenShift クラスターに RHACS をカスタマイズしてインストールできます。これらのパラメーターは、--set
オプションを使用するか、YAML 設定ファイルを作成することで指定できます。
以下のファイルを作成して、Red Hat Advanced Cluster Security for Kubernetes をインストールするための Helm チャートを設定します。
-
パブリック設定ファイル
values-public.yaml
: このファイルを使用して、機密性の低いすべての設定オプションを保存します。 -
プライベート設定ファイル
values-private.yaml
: このファイルを使用して、機密性の高いすべての設定オプションを保存します。このファイルは安全に保管してください。 -
設定ファイル
declarative-config-values.yaml
: 宣言設定を使用して宣言設定マウントを Central に追加する場合は、このファイルを作成します。
4.1.2.2.1. プライベート設定ファイル
このセクションでは、values-private.yaml
ファイルの設定可能なパラメーターをリストします。これらのパラメーターのデフォルト値はありません。
4.1.2.2.1.1. イメージプルのシークレット
レジストリーからイメージをプルするために必要な認証情報は、以下の要素によって異なります。
カスタムレジストリーを使用している場合、以下のパラメーターを指定する必要があります。
-
imagePullSecrets.username
-
imagePullSecrets.password
-
image.registry
-
カスタムレジストリーへのログインにユーザー名とパスワードを使用しない場合は、以下のいずれかのパラメーターを指定する必要があります。
-
imagePullSecrets.allowNone
-
imagePullSecrets.useExisting
-
imagePullSecrets.useFromDefaultServiceAccount
-
パラメーター | 説明 |
---|---|
| レジストリーへのログインに使用されるアカウントのユーザー名。 |
| レジストリーへのログインに使用されるアカウントのパスワード |
|
カスタムレジストリーを使用していて、クレデンシャルなしでイメージをプルできる場合は、 |
|
値としてのシークレットのコンマ区切りリスト。たとえば、 |
|
十分なスコープのイメージプルシークレットを使用してターゲット namespace にデフォルトのサービスアカウントをすでに設定している場合は、 |
4.1.2.2.1.2. プロキシー設定
外部サービスに接続するためにプロキシーが必要なクラスターに Red Hat Cluster Security for Kubernetes をインストールする場合は、proxyConfig
パラメーターを使用してプロキシー設定を指定する必要があります。以下に例を示します。
env: proxyConfig: | url: http://proxy.name:port username: username password: password excludes: - some.domain
パラメーター | 説明 |
---|---|
| プロキシー設定。 |
4.1.2.2.1.3. Central
Central の設定可能なパラメーター。
新規インストールの場合、次のパラメーターをスキップできます。
-
central.jwtSigner.key
-
central.serviceTLS.cert
-
central.serviceTLS.key
-
central.adminPassword.value
-
central.adminPassword.htpasswd
-
central.db.serviceTLS.cert
-
central.db.serviceTLS.key
-
central.db.password.value
- これらのパラメーターの値を指定しない場合、Helm チャートはそれらの値を自動生成します。
-
これらの値を変更する場合は、
helm upgrade
コマンドを使用し、--set
オプションを使用して値を指定できます。
管理者パスワードの設定には、central.adminPassword.value
または central.adminPassword.htpasswd
のいずれかのみを使用できますが、両方を使用することはできません。
パラメーター | 説明 |
---|---|
| RHACS が認証用の JSON Web トークン (JWT) に署名するために使用する秘密鍵。 |
| Central サービスが Central をデプロイするために使用する必要がある内部証明書。 |
| Central サービスが使用する必要がある内部証明書の秘密鍵。 |
| Central が使用する必要のあるユーザー向けの証明書。RHACS は、RHACS ポータルにこの証明書を使用します。
|
| Central が使用する必要のあるユーザー向け証明書の秘密鍵。
|
| Central DB の接続パスワード。 |
| RHACS にログインするための管理者パスワード。 |
| RHACS にログインするための管理者パスワード。このパスワードは、bcrypt を使用してハッシュ形式で保存されます。 |
| Central DB サービスが Central DB をデプロイするために使用する内部証明書。 |
| Central DB サービスが使用する内部証明書の秘密キー。 |
| Central DB への接続に使用されるパスワード。 |
central.adminPassword.htpasswd
パラメーターを使用している場合は、bcrypt でエンコードされたパスワードハッシュを使用する必要があります。コマンド htpasswd -nB admin
を実行して、パスワードハッシュを生成できます。以下に例を示します。
htpasswd: | admin:<bcrypt-hash>
4.1.2.2.1.4. Scanner
StackRox Scanner および Scanner V4 (テクノロジープレビュー) の設定可能なパラメーター。
Scanner V4 はテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat では、実稼働環境での使用を推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
新規インストールの場合、次のパラメーターをスキップでき、Helm チャートがそれらの値を自動生成します。それ以外の場合、新しいバージョンにアップグレードする場合は、以下のパラメーターの値を指定してください。
-
scanner.dbPassword.value
-
scanner.serviceTLS.cert
-
scanner.serviceTLS.key
-
scanner.dbServiceTLS.cert
-
scanner.dbServiceTLS.key
-
scannerV4.db.password.value
-
scannerV4.indexer.serviceTLS.cert
-
scannerV4.indexer.serviceTLS.key
-
scannerV4.matcher.serviceTLS.cert
-
scannerV4.matcher.serviceTLS.key
-
scannerV4.db.serviceTLS.cert
-
scannerV4.db.serviceTLS.key
パラメーター | 説明 |
---|---|
| Scanner データベースでの認証に使用するパスワード。RHACS がこのパラメーターの値を内部で自動的に作成して使用するため、このパラメーターは変更しないでください。 |
| StackRox Scanner サービスが StackRox Scanner をデプロイするために使用する内部証明書。 |
| Scanner サービスが使用する必要がある内部証明書の秘密鍵。 |
| Scanner-db サービスが Scanner データベースをデプロイするために使用する必要がある内部証明書。 |
| Scanner-db サービスが使用する必要がある内部証明書の秘密鍵。 |
| Scanner V4 データベースでの認証に使用するパスワード。RHACS がこのパラメーターの値を内部で自動的に作成して使用するため、このパラメーターは変更しないでください。 |
| Scanner V4 DB サービスが Scanner V4 データベースをデプロイするために使用する内部証明書。 |
| Scanner V4 DB サービスが使用する内部証明書の秘密鍵。 |
| Scanner V4 Indexer をデプロイするために Scanner V4 サービスが使用する内部証明書。 |
| Scanner V4 Indexer が使用する内部証明書の秘密鍵。 |
| Scanner V4 Matcher をデプロイするために Scanner V4 サービスが使用する内部証明書。 |
| Scanner V4 Matcher が使用する内部証明書の秘密鍵。 |
4.1.2.2.2. パブリック設定ファイル
このセクションでは、values-public.yaml
ファイルの設定可能なパラメーターをリストします。
4.1.2.2.2.1. イメージプルのシークレット
イメージプルシークレットは、レジストリーからイメージをプルするために必要なクレデンシャルです。
パラメーター | 説明 |
---|---|
|
カスタムレジストリーを使用していて、クレデンシャルなしでイメージをプルできる場合は、 |
|
値としてのシークレットのコンマ区切りリスト。たとえば、 |
|
十分なスコープのイメージプルシークレットを使用してターゲット namespace にデフォルトのサービスアカウントをすでに設定している場合は、 |
4.1.2.2.2.2. イメージ
イメージでは、メインレジストリーをセットアップするための設定を宣言します。Helm チャートはこの設定を使用して、central.image
、scanner.image
、scanner.dbImage
、scannerV4.image
、および scannerV4.db.image
パラメーターのイメージを解決します。
パラメーター | 説明 |
---|---|
|
イメージレジストリーのアドレス。 |
4.1.2.2.2.3. 環境変数
Red Hat Advanced Cluster Security for Kubernetes は、クラスター環境を自動的に検出し、env.openshift
、env.istio
、および env.platform
の値を設定します。クラスター環境の自動検出をオーバーライドするには、これらの値のみを設定してください。
パラメーター | 説明 |
---|---|
|
OpenShift Container Platform クラスターにインストールし、クラスター環境の自動検出をオーバーライドする場合は、 |
|
|
|
RHACS をインストールするプラットフォーム。その値を |
|
RHACS をオフラインモードで使用するには |
4.1.2.2.2.4. 追加の信頼された認証局
RHACS は、信頼するシステムルート証明書を自動的に参照します。Central、StackRox Scanner、または Scanner V4 が、組織内の機関またはグローバルに信頼されているパートナー組織によって発行された証明書を使用するサービスにアクセスする必要がある場合、次のパラメーターを使用して信頼するルート認証局を指定することにより、これらのサービスの信頼を追加できます。
パラメーター | 説明 |
---|---|
| 信頼するルート認証局の PEM エンコード証明書を指定します。 |
4.1.2.2.2.5. Central
Central の設定可能なパラメーター。
-
hostPath
またはpersistentVolumeClaim
のいずれかとして永続ストレージオプションを指定する必要があります。 -
外部アクセス用の Central のデプロイメントを公開するため。1 つのパラメーター、
central.exposure.loadBalancer
、central.exposure.nodePort
、またはcentral.exposure.route
のいずれかを指定する必要があります。これらのパラメーターに値を指定しない場合は、手動で Central を公開するか、ポート転送を使用して Central にアクセスする必要があります。
次の表に、外部 PostgreSQL データベースの設定を記載します。
パラメーター | 説明 |
---|---|
| 宣言的設定に使用される config map をマウントします。 |
| 宣言型設定に使用されるシークレットをマウントします。 |
| Central のエンドポイント設定オプションです。 |
| ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Central の taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
| ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Central の taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
ポート番号 |
|
Central イメージのグローバル |
|
デフォルトの Central イメージ名 ( |
|
Central イメージのデフォルトタグをオーバーライドするカスタムイメージタグです。新規インストール時に独自のイメージタグを指定した場合は、 |
|
Central イメージのレジストリーアドレス、イメージ名、およびイメージタグを含む完全なリファレンスです。このパラメーターの値を設定すると、 |
| Central のメモリー要求。 |
| Central の CPU 要求。 |
| Central のメモリー制限。 |
| Central の CPU 制限。 |
| RHACS がデータベースボリュームを作成するノード上のパス。Red Hat はこのオプションの使用を推奨していません。 |
| 使用している永続ボリューム要求 (PVC) の名前です。 |
|
新しい PVC を作成するには |
| 指定された要求によるマネージドの永続ボリュームのサイズ (GiB 単位) です。 |
|
ロードバランサーを使用して Central を公開するには、 |
| Central を公開するポート番号です。デフォルトのポート番号は 443 です。 |
|
|
| Central を公開するポート番号です。このパラメーターをスキップすると、OpenShift Container Platform は自動的にポート番号を割り当てます。Red Hat では、ノードポートを使用して RHACS を公開する場合、ポート番号を指定しないことを推奨しています。 |
|
ルートを使用して Central を公開するには、 |
|
Central DB をデプロイせず、外部データベースを使用することを指定するには、 |
|
Central がデータベースへの接続に使用する接続文字列。これは、
|
| 確立されるデータベースへの接続の最小数。 |
| 確立されるデータベースへの接続の最大数。 |
| 単一のクエリーまたはトランザクションがデータベースに対してアクティブにできるミリ秒数。 |
| PostgreSQL ドキュメントの「追加リソース」で説明されているように、Central DB に使用される postgresql.conf。 |
| PostgreSQL ドキュメントの「追加リソース」で説明されているように、Central DB に使用される pg_hba.conf。 |
|
ノードセレクターのラベルを |
|
Central DB イメージのグローバル |
|
デフォルトの Central DB イメージ名 ( |
|
Central DB イメージのデフォルトのタグをオーバーライドするカスタムイメージタグ。新規インストール時に独自のイメージタグを指定した場合は、 |
|
Central DB イメージのレジストリーアドレス、イメージ名、イメージタグを含む完全なリファレンス。このパラメーターの値を設定すると、 |
| Central DB のメモリー要求。 |
| Central DB の CPU 要求。 |
| Central DB のメモリー制限。 |
| Central DB の CPU 制限。 |
| RHACS がデータベースボリュームを作成するノード上のパス。Red Hat はこのオプションの使用を推奨していません。 |
| 使用している永続ボリューム要求 (PVC) の名前です。 |
|
|
| 指定された要求によるマネージドの永続ボリュームのサイズ (GiB 単位) です。 |
4.1.2.2.2.6. StackRox Scanner
次の表に、StackRox Scanner の設定可能なパラメーターを示します。これは、ノードとプラットフォームのスキャンに使用されるスキャナーです。Scanner V4 が有効になっていない場合、StackRox Scanner はイメージのスキャンも実行します。バージョン 4.4 以降は、Scanner V4 を有効にしてイメージのスキャンを行うことができます。Scanner V4 のパラメーターについては、次の表を参照してください。
パラメーター | 説明 |
---|---|
|
StackRox Scanner なしで RHACS をインストールするには、 |
|
ポート番号 |
|
StackRox Scanner デプロイメント用に作成するレプリカの数。 |
|
StackRox Scanner のログレベルを設定します。Red Hat では、デフォルトのログレベル値 ( |
|
ノードセレクターのラベルを |
| ノードセレクターがテイントされたノードを選択する場合は、このパラメーターを使用して、StackRox Scanner のテイントの容認キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
StackRox Scanner デプロイメントの自動スケーリングを無効にするには、 |
| 自動スケーリングのレプリカの最小数です。 |
| 自動スケーリングのレプリカの最大数です。 |
| StackRox Scanner のメモリー要求。 |
| StackRox Scanner の CPU 要求。 |
| StackRox Scanner のメモリー制限。 |
| StackRox Scanner の CPU 制限。 |
| StackRox Scanner データベースデプロイメントのメモリー要求。 |
| StackRox Scanner データベースデプロイメントの CPU 要求。 |
| StackRox Scanner データベースデプロイメントのメモリー制限。 |
| StackRox Scanner データベースデプロイメントの CPU 制限。 |
| StackRox Scanner イメージのカスタムレジストリー。 |
|
デフォルトの StackRox Scanner イメージ名 ( |
| StackRox Scanner DB イメージのカスタムレジストリー。 |
|
デフォルトの StackRox Scanner DB イメージ名 ( |
|
ノードセレクターのラベルを |
| ノードセレクターがテイントされたノードを選択する場合は、このパラメーターを使用して、StackRox Scanner DB のテイントの容認キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
4.1.2.2.2.7. Scanner V4
次の表に、Scanner V4 の設定可能なパラメーターを示します。
Scanner V4 はテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat では、実稼働環境での使用を推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
パラメーター | 説明 |
---|---|
|
Scanner V4 の永続データを管理する PVC の名前。指定した名前の PVC が存在しない場合は、PVC が作成されます。設定されていない場合、デフォルト値は |
|
Scanner V4 を有効にするには |
|
Scanner V4 の Prometheus メトリクスエンドポイントをポート番号 |
|
Scanner V4 Indexer デプロイメント用に作成するレプリカの数。 |
|
Scanner V4 Indexer のログレベルを設定します。Red Hat では、デフォルトのログレベル値 ( |
|
ノードセレクターのラベルを |
| ノードセレクターがテイントされたノードを選択する場合は、このパラメーターを使用して、Scanner V4 Indexer のテイントの容認キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
Scanner V4 Indexer デプロイメントの自動スケーリングを無効にするには、 |
| 自動スケーリングのレプリカの最小数です。 |
| 自動スケーリングのレプリカの最大数です。 |
| Scanner V4 Indexer のメモリー要求。 |
| Scanner V4 Indexer の CPU 要求。 |
| Scanner V4 Indexer のメモリー制限。 |
| Scanner V4 Indexer の CPU 制限。 |
|
Scanner V4 Matcher デプロイメント用に作成するレプリカの数。 |
|
Red Hat では、デフォルトのログレベル値 ( |
|
ノードセレクターのラベルを |
| ノードセレクターがテイントされたノードを選択する場合は、このパラメーターを使用して、Scanner V4 Matcher のテイントの容認キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
Scanner V4 Matcher デプロイメントの自動スケーリングを無効にするには、 |
| 自動スケーリングのレプリカの最小数です。 |
| 自動スケーリングのレプリカの最大数です。 |
| Scanner V4 Matcher のメモリー要求。 |
| Scanner V4 Matcher の CPU 要求。 |
| Scanner V4 データベースデプロイメントのメモリー要求。 |
| Scanner V4 データベースデプロイメントの CPU 要求。 |
| Scanner V4 データベースデプロイメントのメモリー制限。 |
| Scanner V4 データベースデプロイメントの CPU 制限。 |
|
ノードセレクターのラベルを |
| ノードセレクターがテイントされたノードを選択する場合は、このパラメーターを使用して、Scanner V4 DB のテイントの容認キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
| Scanner V4 DB イメージのカスタムレジストリー。 |
|
デフォルトの Scanner V4 DB イメージ名 ( |
| Scanner V4 イメージのカスタムレジストリー。 |
|
デフォルトの Scanner V4 イメージ名 ( |
4.1.2.2.2.8. カスタマイズ
以下のパラメーターを使用して、RHACS が作成するすべてのオブジェクトの追加属性を指定します。
パラメーター | 説明 |
---|---|
| すべてのオブジェクトにアタッチするカスタムラベルです。 |
| すべてのオブジェクトにアタッチするカスタムアノテーションです。 |
| すべてのデプロイメントにアタッチするカスタムラベルです。 |
| すべてのデプロイメントにアタッチするカスタムアノテーションです。 |
| すべてのオブジェクトのすべてのコンテナーのカスタム環境変数。 |
| Central が作成するすべてのオブジェクトに割り当てるカスタムラベル。 |
| Central が作成するすべてのオブジェクトに割り当てるカスタムアノテーション。 |
| すべての Central のデプロイメントにアタッチするカスタムラベルです。 |
| すべての Central のデプロイメントにアタッチするカスタムアノテーションです。 |
| すべての Central コンテナーのカスタム環境変数。 |
| Scanner が作成するすべてのオブジェクトに割り当てるカスタムラベル。 |
| Scanner が作成するすべてのオブジェクトに割り当てるカスタムアノテーション。 |
| すべての Scanner のデプロイメントにアタッチするカスタムラベルです。 |
| すべての Scanner のデプロイメントにアタッチするカスタムアノテーションです。 |
| すべての Scanner コンテナーのカスタム環境変数。 |
| Scanner DB が作成するすべてのオブジェクトに割り当てるカスタムラベル。 |
| Scanner DB が作成するすべてのオブジェクトに割り当てるカスタムアノテーション。 |
| すべての Scanner DB のデプロイメントにアタッチするカスタムラベルです。 |
| すべての Scanner DB のデプロイメントにアタッチするカスタムアノテーションです。 |
| すべての Scanner DB コンテナーのカスタム環境変数。 |
| Scanner V4 Indexer が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムラベル。 |
| Scanner V4 Indexer が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムアノテーション。 |
| Scanner V4 Indexer が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムラベル。 |
| Scanner V4 Indexer が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムアノテーション。 |
| すべての Scanner V4 Indexer コンテナーとそれらに属する Pod のカスタム環境変数。 |
| Scanner V4 Matcher が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムラベル。 |
| Scanner V4 Matcher が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムアノテーション。 |
| Scanner V4 Matcher が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムラベル。 |
| Scanner V4 Matcher が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムアノテーション。 |
| すべての Scanner V4 Matcher コンテナーとそれらに属する Pod のカスタム環境変数。 |
| Scanner V4 DB が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムラベル。 |
| Scanner V4 DB が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムアノテーション。 |
| Scanner V4 DB が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムラベル。 |
| Scanner V4 DB が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムアノテーション。 |
| すべての Scanner V4 DB コンテナーとそれらに属する Pod のカスタム環境変数。 |
以下のように使用することもできます。
-
すべてのオブジェクトのラベルとアノテーションを指定するための
customize.other.service/*.labels
およびcustomize.other.service/*.annotations
パラメーターです。 -
または、特定のサービス名を指定します。たとえば、
customize.other.service/central-loadbalancer.labels
とcustomize.other.service/central-loadbalancer.annotations
をパラメーターとして指定し、それらの値を設定します。
4.1.2.2.2.9. 高度なカスタマイズ
このセクションで指定されているパラメーターは、情報提供のみを目的としています。Red Hat は、namespace やリリース名が変更された RHACS インスタンスをサポートしません。
パラメーター | 説明 |
---|---|
|
RHACS をデフォルトの |
|
デフォルトの |
4.1.2.2.3. 宣言的な設定値
宣言型設定を使用するには、宣言型設定マウントを Central に追加する YAML ファイル (この例では "declarative-config-values.yaml" という名前) を作成する必要があります。このファイルは Helm インストールで使用されます。
手順
次の例をガイドラインとして使用して、YAML ファイル (この例では
declarative-config-values.yaml
という名前) を作成します。central: declarativeConfiguration: mounts: configMaps: - declarative-configs secrets: - sensitive-declarative-configs
-
「central-services Helm チャートのインストール」の説明に従って、
declarative-config-values.yaml
ファイルを参照して、Central サービス Helm チャートをインストールします。
4.1.2.2.4. central-services Helm チャートのインストール
values-public.yaml
ファイルと values-private.yaml
ファイルを設定した後、central-services
Helm チャートをインストールして、集中型コンポーネント (Central と Scanner) をデプロイします。
手順
以下のコマンドを実行します。
$ helm install -n stackrox --create-namespace \ stackrox-central-services rhacs/central-services \ -f <path_to_values_public.yaml> -f <path_to_values_private.yaml> 1
- 1
-f
オプションを使用して、YAML 設定ファイルのパスを指定します。
オプション: 宣言型設定を使用する場合は、このコマンドに -f <path_to_declarative-config-values.yaml
を追加して、宣言型設定ファイルを Central にマウントします。
4.1.2.3. central-services Helm チャートをデプロイした後の設定オプションの変更
central-services
Helm チャートをデプロイした後、設定オプションを変更できます。
helm upgrade
コマンドを使用して変更を加える場合は、次のガイドラインと要件が適用されます。
-
--set
または--set-file
パラメーターを使用して設定値を指定することもできます。ただし、これらのオプションは保存されないため、変更を加えるたびにすべてのオプションを手動で再度指定する必要があります。 変更の内容によっては (たとえば Scanner V4 などの新しいコンポーネントを有効にした場合は)、コンポーネントに対して新しい証明書を発行する必要があります。したがって、これらの変更を行う場合は CA を指定する必要があります。
重要Scanner V4 はテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat では、実稼働環境での使用を推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
-
CA が初期インストール中に Helm チャートによって生成された場合は、自動的に生成された該当する値をクラスターから取得し、
helm upgrade
コマンドで指定する必要があります。central-services
Helm チャートのインストール後の注記に、自動生成された値を取得するためのコマンドが含まれています。 -
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-central-services rhacs/central-services \ --reuse-values \1 -f <path_to_init_bundle_file \ -f <path_to_values_public.yaml> \ -f <path_to_values_private.yaml>
- 1
values_public.yaml
ファイルとvalues_private.yaml
ファイルに含まれていない値を変更した場合は、--reuse-values
パラメーターを含めます。
4.1.3. roxctl CLI を使用して Central をインストールする
実稼働環境では、Red Hat は Operator または Helm チャートを使用して RHACS をインストールすることを推奨しています。この方法を使用する必要がある特定のインストールがない限り、roxctl
のインストール手法を使用しないでください。
4.1.3.1. roxctl CLI のインストール
Red Hat Advanced Cluster Security for Kubernetes をインストールするには、バイナリーをダウンロードして roxctl
CLI をインストールする必要があります。roxctl
は、Linux、Windows、または macOS にインストールできます。
4.1.3.1.1. Linux への roxctl CLI のインストール
次の手順を使用して、Linux に roxctl
CLI バイナリーをインストールできます。
Linux 用の roxctl
CLI は、amd64
、ppcl64le
、および s390x
アーキテクチャーで使用できます。
手順
ターゲットのオペレーティングシステムの
roxctl
アーキテクチャーを確認します。$ arch="$(uname -m | sed "s/x86_64//")"; arch="${arch:+-$arch}"
roxctl
CLI をダウンロードします。$ curl -L -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.4.5/bin/Linux/roxctl${arch}"
roxctl
バイナリーを実行可能にします。$ chmod +x roxctl
PATH
上にあるディレクトリーにroxctl
バイナリーを配置します。PATH
を確認するには、以下のコマンドを実行します。$ echo $PATH
検証
インストールした
roxctl
のバージョンを確認します。$ roxctl version
4.1.3.1.2. macOS への roxctl CLI のインストール
次の手順を使用して、roxctl
CLI バイナリーを macOS にインストールできます。
macOS 用の roxctl
CLI は、amd64
アーキテクチャーで利用できます。
手順
roxctl
CLI をダウンロードします。$ curl -L -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.4.5/bin/Darwin/roxctl${arch}"
バイナリーからすべての拡張属性を削除します。
$ xattr -c roxctl
roxctl
バイナリーを実行可能にします。$ chmod +x roxctl
PATH
上にあるディレクトリーにroxctl
バイナリーを配置します。PATH
を確認するには、以下のコマンドを実行します。$ echo $PATH
検証
インストールした
roxctl
のバージョンを確認します。$ roxctl version
4.1.3.1.3. Windows への roxctl CLI のインストール
次の手順を使用して、roxctl
CLI バイナリーを Windows にインストールできます。
Windows 用の roxctl
CLI は、amd64
アーキテクチャーで使用できます。
手順
roxctl
CLI をダウンロードします。$ curl -f -O https://mirror.openshift.com/pub/rhacs/assets/4.4.5/bin/Windows/roxctl.exe
検証
インストールした
roxctl
のバージョンを確認します。$ roxctl version
4.1.3.2. 対話型インストーラーの使用
対話型インストーラーを使用して、お使いの環境に必要なシークレット、デプロイメント設定、およびデプロイメントスクリプトを生成します。
手順
対話型インストールコマンドを実行します。
$ roxctl central generate interactive
重要roxctl
CLI を使用して RHACS をインストールすると、下位互換性のためにデフォルトで PodSecurityPolicy (PSP) オブジェクトが作成されます。RHACS を Kubernetes バージョン 1.25 以降または OpenShift Container Platform バージョン 4.12 以降にインストールする場合、PSP オブジェクトの作成を無効にする必要があります。これを行うには、roxctl central generate
コマンドとroxctl sensor generate
コマンドで--enable-pod-security-policies
オプションをfalse
に指定します。Enter を押してプロンプトのデフォルト値を受け入れるか、必要に応じてカスタム値を入力します。次の例は、対話型インストーラーのプロンプトを示しています。
Enter path to the backup bundle from which to restore keys and certificates (optional): Enter read templates from local filesystem (default: "false"): Enter path to helm templates on your local filesystem (default: "/path"): Enter PEM cert bundle file (optional): 1 Enter Create PodSecurityPolicy resources (for pre-v1.25 Kubernetes) (default: "true"): 2 Enter administrator password (default: autogenerated): Enter orchestrator (k8s, openshift): Enter default container images settings (development_build, stackrox.io, rhacs, opensource); it controls repositories from where to download the images, image names and tags format (default: "development_build"): Enter the directory to output the deployment bundle to (default: "central-bundle"): Enter the OpenShift major version (3 or 4) to deploy on (default: "0"): Enter whether to enable telemetry (default: "false"): Enter central-db image to use (if unset, a default will be used according to --image-defaults): Enter Istio version when deploying into an Istio-enabled cluster (leave empty when not running Istio) (optional): Enter the method of exposing Central (route, lb, np, none) (default: "none"): 3 Enter main image to use (if unset, a default will be used according to --image-defaults): Enter whether to run StackRox in offline mode, which avoids reaching out to the Internet (default: "false"): Enter list of secrets to add as declarative configuration mounts in central (default: "[]"): 4 Enter list of config maps to add as declarative configuration mounts in central (default: "[]"): 5 Enter the deployment tool to use (kubectl, helm, helm-values) (default: "kubectl"): Enter scanner-db image to use (if unset, a default will be used according to --image-defaults): Enter scanner image to use (if unset, a default will be used according to --image-defaults): Enter Central volume type (hostpath, pvc): 6 Enter external volume name for Central (default: "stackrox-db"): Enter external volume size in Gi for Central (default: "100"): Enter storage class name for Central (optional if you have a default StorageClass configured): Enter external volume name for Central DB (default: "central-db"): Enter external volume size in Gi for Central DB (default: "100"): Enter storage class name for Central DB (optional if you have a default StorageClass configured):
- 1
- カスタム TLS 証明書を追加する場合は、PEM でエンコードされた証明書のファイルパスを指定します。カスタム証明書を指定すると、対話型インストーラーは、使用しているカスタム証明書の PEM 秘密鍵を提供するように要求します。
- 2
- Kubernetes バージョン 1.25 以降を実行している場合は、この値を
false
に設定します。 - 3
- RHACS ポータルを使用するには、ルート、ロードバランサー、またはノードポートを使用して Central を公開する必要があります。
- 4
- 認証と認可に宣言型設定を使用する方法の詳細は、「Red Hat Advanced Cluster Security for Kubernetes での RBAC の管理」の「認証および認可リソースの宣言型設定」を参照してください。
- 5
- 認証と認可に宣言型設定を使用する方法の詳細は、「Red Hat Advanced Cluster Security for Kubernetes での RBAC の管理」の「認証および認可リソースの宣言型設定」を参照してください。
- 6
- hostPath ボリュームを使用して OpenShift Container Platform に Red Hat Cluster Security for Kubernetes をインストールする場合は、SELinux ポリシーを変更する必要があります。
警告OpenShift Container Platform で、hostPath ボリュームを使用するには、SELinux ポリシーを変更して、ホストとコンテナーが共有するディレクトリーへのアクセスを許可する必要があります。これは、SELinux がデフォルトでディレクトリー共有をブロックしているためです。SELinux ポリシーを変更するには、次のコマンドを実行します。
$ sudo chcon -Rt svirt_sandbox_file_t <full_volume_path>
ただし、Red Hat は SELinux ポリシーの変更を推奨していません。代わりに、OpenShift Container Platform にインストールするときに PVC を使用してください。
完了すると、インストーラーは central-bundle という名前のフォルダーを作成します。このフォルダーには、Central をデプロイするために必要な YAML マニフェストとスクリプトが含まれています。さらに、信頼できる認証局である Central と Scanner をデプロイするために実行する必要があるスクリプトの画面上の説明と、RHACS ポータルにログインするための認証手順、プロンプトに答える際にパスワードを入力しなかった場合は自動生成されたパスワードも表示されます。
4.1.3.3. Central インストールスクリプトの実行
対話型インストーラーを実行したら、setup.sh
スクリプトを実行して Central をインストールできます。
手順
setup.sh
スクリプトを実行して、イメージレジストリーアクセスを設定します。$ ./central-bundle/central/scripts/setup.sh
必要なリソースを作成します。
$ oc create -R -f central-bundle/central
デプロイメントの進行状況を確認します。
$ oc get pod -n stackrox -w
Central の実行後、RHACS ポータルの IP アドレスを見つけて、ブラウザーで開きます。プロンプトに応答するときに選択した公開方法に応じて、次のいずれかの方法を使用して IP アドレスを取得します。
公開方法 コマンド 住所 例 ルート
oc -n stackrox get route central
出力の
HOST/PORT
列の下のアドレスhttps://central-stackrox.example.route
ノードポート
oc get node -owide && oc -n stackrox get svc central-loadbalancer
サービス用に表示されたポート上の任意のノードの IP またはホスト名
https://198.51.100.0:31489
ロードバランサー
oc -n stackrox get svc central-loadbalancer
EXTERNAL-IP、またはポート 443 でサービスに表示されるホスト名
https://192.0.2.0
なし
central-bundle/central/scripts/port-forward.sh 8443
https://localhost:8443
https://localhost:8443
対話型インストール中に自動生成されたパスワードを選択した場合は、次のコマンドを実行して、Central にログインするためのパスワードを確認できます。
$ cat central-bundle/password