7.3. セキュアクラスターの init バンドルまたはクラスター登録シークレットを生成する
セキュアクラスターをセットアップする前に、init バンドルまたはクラスター登録シークレット (CRS) を作成する必要があります。次に、セキュアクラスターはこのバンドルまたは CRS を使用して、Central インスタンス (Central とも呼ばれます) で認証します。RHACS ポータルまたは roxctl CLI を使用して、init バンドルまたは CRS を作成できます。次に、init バンドルまたは CRS を使用してリソースを作成し、適用します。
init バンドルを作成するには、Admin ユーザーロールが必要です。
RHACS はインストール中に特別なアーティファクトを使用して、RHACS Central コンポーネントが追加するセキュアクラスターとセキュアに通信できるようにします。4.7 リリースより前の RHACS では、セキュアな通信チャネルを開始するために init バンドル のみが使用されていました。4.7 以降の RHACS では、init バンドルの代替手段として クラスター登録シークレット (CRS) が提供されています。
クラスター登録シークレットはテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat では、実稼働環境での使用を推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
クラスター登録シークレット (CRS) により、セキュリティーが強化され、使いやすくなりました。CRS には、Operator と Helm の両方のインストールメソッドを使用して RHACS をインストールするときに使用できるトークンが 1 つ含まれています。
CRS は新しいセキュアクラスターの登録にのみ使用されるため、セキュリティーが強化されます。漏洩した場合、init バンドル内の証明書とキーは、セキュアクラスターで実行されているサービスになりすますために使用される可能性があります。対照的に、CRS 内の証明書とキーは、新しいクラスターを 登録 するためにのみ使用できます。
CRS を使用してクラスターが設定されると、サービス固有の証明書が Central によって発行され、新しいセキュアクラスターに送信されます。これらのサービス証明書は、Central とセキュアクラスター間の通信に使用されます。したがって、クラスターの登録後、セキュアクラスターを切断せずに CRS を取り消すことができます。
セキュアクラスターのインストール時には、init バンドルまたはクラスター登録シークレット (CRS) のいずれかを使用できます。しかし RHACS では、ポータルを使用して CRS を作成する方法はまだ提供されていません。したがって、roxctl CLI を使用して CRS を作成する必要があります。
セキュアクラスターをセットアップする前に、init バンドルまたは CRS を作成する必要があります。その後、セキュアクラスターはこのバンドルまたは CRS を使用して Central で認証します。RHACS ポータルまたは roxctl CLI を使用して、init バンドルを作成できます。CRS を使用している場合は、roxctl CLI を使用して作成する必要があります。
その後、OpenShift Container Platform Web コンソールか、oc または kubectl CLI を使用して、init バンドルまたは CRS を適用できます。Helm を使用して RHACS をインストールする場合は、helm install コマンドの実行時に init バンドルまたは CRS を指定します。
7.3.1. init バンドルの生成 リンクのコピーリンクがクリップボードにコピーされました!
7.3.1.1. RHACS ポータルを使用した init バンドルの生成 リンクのコピーリンクがクリップボードにコピーされました!
RHACS ポータルを使用して、シークレットを含む init バンドルを作成できます。
init バンドルを作成するには、Admin ユーザーロールが必要です。
手順
- 「Operator 方式を使用した Central インストールの検証」の説明に従って、RHACS ポータルのアドレスを見つけます。
- RHACS ポータルにログインします。
-
セキュアクラスターまたは既存の init バンドルがない場合は、Platform Configuration
Clusters ページが表示されます。Create init bundle をクリックします。 - クラスター init バンドルの名前を入力します。
- プラットフォームを選択します。
- セキュアクラスターに使用するインストール方法 (Operator または Helm chart) を選択します。
Download をクリックし、init バンドルを生成してダウンロードします。init バンドルは YAML ファイル形式で作成されます。同じインストール方法を使用する場合は、すべてのセキュアクラスターに対して 1 つの init バンドルとそれに対応する YAML ファイルを使用できます。
重要このバンドルにはシークレットが含まれているため、セキュアに保管してください。
- init バンドルを使用して適用し、セキュアクラスター上にリソースを作成します。
- 各クラスターにセキュアクラスターサービスをインストールします。
7.3.1.2. roxctl CLI を使用した init バンドルの生成 リンクのコピーリンクがクリップボードにコピーされました!
roxctl CLI を使用して、シークレットを含む init バンドルを作成できます。
init バンドルを作成するには、Admin ユーザーロールが必要です。
前提条件
ROX_API_TOKENおよびROX_CENTRAL_ADDRESS環境変数が設定されている。次のコマンドを実行して
ROX_API_TOKENを設定します。$ export ROX_API_TOKEN=<api_token>次のコマンドを実行して、
ROX_CENTRAL_ADDRESS環境変数を設定します。$ export ROX_CENTRAL_ADDRESS=<address>:<port_number>
RHACS Cloud Service では、Central アドレスを必要とする roxctl コマンドを使用する場合は、Red Hat Hybrid Cloud Console の インスタンスの詳細 セクションに表示される Central インスタンスのアドレス を使用します。たとえば、acs-data-ABCD12345.acs.rhcloud.com の代わりに acs-ABCD12345.acs.rhcloud.com を使用します。
手順
Helm インストールのシークレットを含むクラスター初期化バンドルを生成するには、次のコマンドを実行します。
$ roxctl -e "$ROX_CENTRAL_ADDRESS" \ central init-bundles generate <cluster_init_bundle_name> --output \ cluster_init_bundle.yamlOperator インストール用のシークレットを含むクラスター初期化バンドルを生成するには、次のコマンドを実行します。
$ roxctl -e "$ROX_CENTRAL_ADDRESS" \ central init-bundles generate <cluster_init_bundle_name> --output-secrets \ cluster_init_bundle.yaml重要このバンドルにはシークレットが含まれているため、セキュアに保管してください。同じバンドルを使用して、複数のセキュアクラスターを設定できます。
7.3.2. CRS の生成 リンクのコピーリンクがクリップボードにコピーされました!
7.3.2.1. roxctl CLI を使用して CRS を生成する リンクのコピーリンクがクリップボードにコピーされました!
roxctl CLI を使用して、クラスター登録シークレットを作成できます。
CRS を作成するには、Admin ユーザーロールが必要です。
前提条件
ROX_API_TOKENおよびROX_CENTRAL_ADDRESS環境変数が設定されている。次のコマンドを実行して
ROX_API_TOKENを設定します。$ export ROX_API_TOKEN=<api_token>次のコマンドを実行して、
ROX_CENTRAL_ADDRESS環境変数を設定します。$ export ROX_CENTRAL_ADDRESS=<address>:<port_number>
RHACS Cloud Service では、Central アドレスを必要とする roxctl コマンドを使用する場合は、Red Hat Hybrid Cloud Console の インスタンスの詳細 セクションに表示される Central インスタンスのアドレス を使用します。たとえば、acs-data-ABCD12345.acs.rhcloud.com の代わりに acs-ABCD12345.acs.rhcloud.com を使用します。
手順
CRS を生成するには、次のコマンドを実行します。
$ roxctl -e "$ROX_CENTRAL_ADDRESS" \ central crs generate <crs_name> \1 --output <file_name>2 重要このファイルにはシークレットが含まれているため、セキュアに保管してください。同じファイルを使用して、複数のセキュアクラスターを設定できます。以前生成された CRS を取得することはできません。
このコマンドは、選択した出力に応じて CRS と YAML ファイルに関する INFO メッセージを返す場合があります。
出力例
INFO: Successfully generated new CRS
INFO:
INFO: Name: test-crs
INFO: Created at: 2025-02-26T19:07:21Z
INFO: Expires at: 2026-02-26T19:07:00Z
INFO: Created By: sample-token
INFO: ID: 9214a63f-7e0e-485a-baae-0757b0860ac9
# This is a StackRox Cluster Registration Secret (CRS).
# It is used for setting up StackRox secured clusters.
# NOTE: This file contains secret data that allows connecting new secured clusters to central,
# and needs to be handled and stored accordingly.
apiVersion: v1
data:
crs: EXAMPLEZXlKMlpYSnphVzl1SWpveExDSkRRWE1pT2xzaUxTMHRMUzFDUlVkSlRpQkRSVkpVU1VaSlEwREXAMPLE=
kind: Secret
metadata:
annotations:
crs.platform.stackrox.io/created-at: "2025-02-26T19:07:21.800414339Z"
crs.platform.stackrox.io/expires-at: "2026-02-26T19:07:00Z"
crs.platform.stackrox.io/id: 9214a63f-7e0e-485a-baae-0757b0860ac9
crs.platform.stackrox.io/name: test-crs
creationTimestamp: null
name: cluster-registration-secret
INFO: Then CRS needs to be stored securely, since it contains secrets.
INFO: It is not possible to retrieve previously generated CRSs.