2.4. OCM CLI を使用した Workload Identity Federation クラスターの作成
OpenShift Cluster Manager CLI (ocm
) を interactive モードまたは non-interactive モードで使用して、Workload Identity Federation (WIF) を使用して Google Cloud Platform (GCP) クラスター上に OpenShift Dedicated を作成できます。
OpenShift Cluster Manager の Downloads ページから、OpenShift Cluster Manager CLI (ocm
) の最新バージョンをダウンロードします。
OpenShift Cluster Manager API コマンドラインインターフェイス (ocm
) は、開発者プレビュー機能です。Red Hat 開発者プレビュー機能のサポート範囲の詳細は、開発者プレビューのサポート範囲 を参照してください。
クラスターを作成する前に、まず WIF 設定を作成する必要があります。
既存の非 WIF クラスターを WIF 設定に移行することはサポートされていません。この機能は、新しいクラスターの作成時にのみ有効にできます。
2.4.1. WIF 設定の作成 リンクのコピーリンクがクリップボードにコピーされました!
手順
WIF 設定は、auto
モードまたは manual
モードを使用して作成できます。
auto
モードでは、OpenShift Dedicated コンポーネントやその他の IAM リソース用のサービスアカウントを自動的に作成できます。
または、manual
モードを使用することもできます。manual
モードでは、script.sh
ファイル内にコマンドが提供されます。このコマンドを使用して、OpenShift Dedicated コンポーネントやその他の IAM リソース用のサービスアカウントを手動で作成します。
選択したモードに応じて、次のいずれかのコマンドを実行して WIF 設定を作成します。
auto モードで WIF 設定を作成するには、次のコマンドを実行します。
ocm gcp create wif-config --name <wif_name> \ --project <gcp_project_id> \ --version <osd_version>
$ ocm gcp create wif-config --name <wif_name> \
1 --project <gcp_project_id> \
2 --version <osd_version>
3 --federated-project <gcp_project_id>
4 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<wif_name>
は、WIF 設定の名前に置き換えます。- 2
<gcp_project_id>
は、WIF 設定が実装される Google Cloud Platform (GCP) プロジェクトの ID に置き換えます。- 3
- オプション:
<osd_version>
は、wif-config のサポートが必要な OpenShift Dedicated バージョンに置き換えます。バージョンを指定しない場合、wif-config は最新の OpenShift Dedicated y-stream バージョンと、その直前のサポート対象の OpenShift Dedicated y-stream バージョン 3 つ (バージョン 4.17 以降) をサポートします。 - 4
- オプション:
<gcp_project_id>
は、ワークロードアイデンティティープールとプロバイダーが作成および管理される専用プロジェクトの ID に置き換えます。--federated-project
フラグが指定されていない場合、ワークロードアイデンティティープールとプロバイダーは、--project
フラグで指定されたプロジェクト内で作成および管理されます。
注記Google Cloud Platform (GCP) では、専用プロジェクトを使用してワークロードアイデンティティープールとプロバイダーを作成および管理することが推奨されています。専用プロジェクトを使用すると、ワークロードアイデンティティープールとプロバイダーの設定に対する一元的なガバナンスを確立し、すべてのプロジェクトとアプリケーションにわたって均一な属性マッピングと条件を適用し、許可されたアイデンティティープロバイダーだけが WIF で認証できるようにすることが可能です。
詳細は、専用プロジェクトを使用したワークロードアイデンティティープールとプロバイダーの管理 を参照してください。
重要専用プロジェクトでのワークロードアイデンティティープールとプロバイダーの作成と管理は、WIF 設定の初期作成時にのみ可能です。
--federated-project
フラグは既存のwif-configs
には適用できません。出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow manual モードで WIF 設定を作成するには、次のコマンドを実行します。
ocm gcp create wif-config --name <wif_name> \ --project <gcp_project_id> \ --mode=manual
$ ocm gcp create wif-config --name <wif_name> \
1 --project <gcp_project_id> \
2 --mode=manual
Copy to Clipboard Copied! Toggle word wrap Toggle overflow WIF を設定すると、次のサービスアカウント、ロール、およびグループが作成されます。
Expand 表2.1 WIF 設定のサービスアカウント、グループ、およびロール サービスアカウント/グループ GCP の事前定義ロールと Red Hat のカスタムロール osd-deployer
osd_deployer_v4.18
osd-control-plane
- compute.instanceAdmin
- compute.networkAdmin
- compute.securityAdmin
- compute.storageAdmin
osd-worker
- compute.storageAdmin
- compute.viewer
cloud-credential-operator-gcp-ro-creds
cloud_credential_operator_gcp_ro_creds_v4
openshift-cloud-network-config-controller-gcp
openshift_cloud_network_config_controller_gcp_v4
openshift-gcp-ccm
openshift_gcp_ccm_v4
openshift-gcp-pd-csi-driver-operator
- compute.storageAdmin
- iam.serviceAccountUser
- resourcemanager.tagUser
- openshift_gcp_pd_csi_driver_operator_v4
openshift-image-registry-gcp
openshift_image_registry_gcs_v4
openshift-ingress-gcp
openshift_ingress_gcp_v4
openshift-machine-api-gcp
openshift_machine_api_gcp_v4
SRE グループ経由のアクセス: sd-sre-platform-gcp-access
sre_managed_support
WIF 設定ロールと、ロールに割り当てられている権限の詳細は、managed-cluster-config を参照してください。
2.4.2. WIF クラスターの作成 リンクのコピーリンクがクリップボードにコピーされました!
手順
WIF クラスターは、interactive
モードまたは non-interactive
モードを使用して作成できます。
interactive
モードでは、クラスターの作成中にクラスター属性がプロンプトとして自動的に表示されます。指定された要件に基づいて、表示されるフィールドにプロンプトの値を入力します。
non-interactive
モードでは、コマンド内の特定パラメーターの値を指定します。
選択したモードに応じて、次のコマンドのいずれかを実行して、WIF 設定を使用して GCP 上に OpenShift Dedicated クラスターを作成します。
interactive モードでクラスターを作成するには、次のコマンドを実行します。
ocm create cluster --interactive
$ ocm create cluster --interactive
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
interactive
モードでは、インタラクティブプロンプトで設定オプションを指定できます。
non-interactive モードでクラスターを作成するには、次のコマンドを実行します。
注記次の例は、オプションおよび必須のパラメーターで構成されており、
non-interactive
モードのコマンドとは異なる場合があります。オプションと記載されていないパラメーターは必須です。これらのパラメーターやその他のパラメーターの詳細を確認するには、ターミナルウィンドウでocm create cluster --help flag
コマンドを実行してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<cluster_name>
は、クラスターの名前に置き換えます。- 2
- 値を
gcp
に設定します。 - 3
- 値を
true
に設定します。 - 4
<wif_name>
は、WIF 設定の名前に置き換えます。- 5
<gcp_region>
は、新しいクラスターをデプロイする Google Cloud Platform (GCP) リージョンに置き換えます。- 6
- オプション: クラスターのサブスクリプション請求モデル。
- 7
- オプション:
subscription-type
パラメーターにmarketplace-gcp
の値を指定した場合、marketplace-gcp-terms
はtrue
である必要があります。 - 8
- オプション: 必要な OpenShift Dedicated バージョン。
- 9
- オプション: 複数のデータセンターにデプロイします。
- 10
- オプション: コンピュートノードの自動スケーリングを有効にします。
- 11
- オプション: コンピュートノードの最小数。
- 12
- オプション: コンピュートノードの最大数。
- 13
- オプション: セキュアブートにより、Google Cloud Platform で Shielded 仮想マシンを使用できるようになります。
OpenShift Dedicated バージョンが指定されている場合、バージョンも割り当てられた WIF 設定でサポートされる必要があります。割り当てられた WIF 設定でサポートされていないバージョンが指定されている場合、クラスターの作成に失敗します。作成に失敗した場合に、割り当てられた WIF 設定を任意のバージョンに更新するか、--version <osd_version> フィールドに任意のバージョンを指定して新しい WIF 設定を作成します。
インストール中にクラスターのデプロイメントが失敗すると、インストールプロセス中に作成された特定のリソースが Google Cloud Platform (GCP) アカウントから自動的に削除されません。GCP アカウントからこれらのリソースを削除するには、障害が発生したクラスターを削除する必要があります。
2.4.3. WIF クラスターのリスト表示 リンクのコピーリンクがクリップボードにコピーされました!
WIF 認証タイプを使用してデプロイされたすべての OpenShift Dedicated クラスターをリスト表示するには、次のコマンドを実行します。
ocm list clusters --parameter search="gcp.authentication.wif_config_id != ''"
$ ocm list clusters --parameter search="gcp.authentication.wif_config_id != ''"
特定の wif-config を使用してデプロイされたすべての OpenShift Dedicated クラスターをリスト表示するには、次のコマンドを実行します。
ocm list clusters --parameter search="gcp.authentication.wif_config_id = '<wif_config_id>'"
$ ocm list clusters --parameter search="gcp.authentication.wif_config_id = '<wif_config_id>'"
- 1
<wif_config_id>
を WIF 設定の ID に置き換えます。
2.4.4. WIF 設定の更新 リンクのコピーリンクがクリップボードにコピーされました!
WIF 設定の更新は、y-stream の更新にのみ適用されます。バージョンセマンティクスに関する詳細を含む更新プロセスの概要は、The Ultimate Guide to OpenShift Release and Upgrade Process for Cluster Administrators を参照してください。
WIF 対応の OpenShift Dedicated クラスターを新しいバージョンに更新する前に、wif-config もそのバージョンにアップグレードする必要があります。クラスターバージョンの更新を試みる前に wif-config バージョンをアップグレードしないと、クラスターバージョンのアップグレードが失敗します。
次のコマンドを実行すると、wif-config を特定の OpenShift Dedicated バージョンに更新できます。
ocm gcp update wif-config <wif_name> \ --version <version>
ocm gcp update wif-config <wif_name> \
--version <version>
2.4.5. WIF 設定の検証 リンクのコピーリンクがクリップボードにコピーされました!
ocm gcp verify wif-config
コマンドを実行すると、WIF 設定に関連付けられたリソースの設定が正しいことを確認できます。誤った設定が見つかった場合、出力には誤った設定の詳細が提供され、WIF 設定を更新するよう推奨されます。
検証を行うには、検証対象の WIF 設定の名前と ID が必要です。アクティブな WIF 設定の名前と ID を取得するには、次のコマンドを実行します。
ocm gcp list wif-configs
$ ocm gcp list wif-configs
検証対象の WIF 設定が正しく設定されているかどうかを確認するには、次のコマンドを実行します。
ocm gcp verify wif-config <wif_config_name>|<wif_config_id>
$ ocm gcp verify wif-config <wif_config_name>|<wif_config_id>
- 1
<wif_config_name>
と<wif_config_id>
を、それぞれ WIF 設定の名前と ID に置き換えます。
出力例
Error: verification failed with error: missing role 'compute.storageAdmin'. Running 'ocm gcp update wif-config' may fix errors related to cloud resource misconfiguration. exit status 1.
Error: verification failed with error: missing role 'compute.storageAdmin'.
Running 'ocm gcp update wif-config' may fix errors related to cloud resource misconfiguration.
exit status 1.