翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
CLI を使用して ROSA with HCP ROSA クラスターを作成する
以下のセクションでは、 AWS STS および CLI を使用して、ホスト型コントロールプレーン (ROSA with HCP) で ROSA ROSA の使用を開始する方法について説明します。Terraform を使用して ROSA with HCP クラスターを作成する手順については、Red Hat のドキュメント
ROSA CLI は auto モードまたは manual モードを使用して、 の作成に必要な IAM ROSA リソースと OpenID Connect (OIDC) 設定を作成します クラスター。 auto モードは、必要な IAM ロールとポリシーと OIDC プロバイダーを自動的に作成します。 manual モードは、 IAM リソースを手動で作成するために必要な AWS CLI コマンドを出力します。manual モードを使用すると、生成された AWS CLI コマンドを手動で実行する前に確認できます。manual モードを使用すると、コマンドを組織内の別の管理者またはグループに渡して、リソースを作成してもらうこともできます。
このドキュメントの手順では、 CLI ROSA の auto モードを使用して、HCP を使用する ROSA に必要な IAM リソースと OIDC 設定を作成します。開始するためのその他のオプションについては、「」を参照してくださいの使用を開始する ROSA。
トピック
前提条件
に記載されている前提条件となるアクションを完了しますを使用するように をセットアップする ROSA。
Amazon VPC アーキテクチャの作成
次の手順では、クラスターをホストするために使用できる Amazon VPC アーキテクチャを作成します。すべての クラスター リソースはプライベートサブネットでホストされます。パブリックサブネットは、プライベートサブネットからのアウトバウンドトラフィックを NAT ゲートウェイ経由でパブリックインターネットにルーティングします。この例では、 Amazon VPCに CIDR ブロック 10.0.0.0/16 を使用しています。別の CIDR ブロックを選択することもできます。詳細については、「VPC のサイズ設定」を参照してください。
重要
Amazon VPC 要件を満たさない場合、クラスターの作成は失敗します。
例
必要な IAM ロールと OpenID Connect 設定を作成する
HCP クラスターで ROSA を作成する前に、必要な IAM ロールとポリシー、および OpenID Connect (OIDC) 設定を作成する必要があります。HCP を使用した ROSA の IAM ロールとポリシーの詳細については、「」を参照してくださいAWS の 管理ポリシー ROSA。
この手順では、 CLI ROSA の auto モードを使用して、HCP クラスターで ROSA を作成するために必要な OIDC 設定を自動的に作成します。
-
必要な IAM アカウントロールとポリシーを作成します。
--force-policy-creationパラメータは、存在する既存のロールとポリシーを更新します。ロールとポリシーが存在しない場合、コマンドは代わりにこれらのリソースを作成します。rosa create account-roles --force-policy-creation注記
オフラインアクセストークンの有効期限が切れている場合、 ROSA CLI は認可トークンを更新する必要があることを示すエラーメッセージを出力します。トラブルシューティングの手順については、「」を参照してくださいCLI ROSA の有効期限が切れたオフラインアクセストークンのトラブルシューティング。
-
クラスターへのユーザー認証を有効にする OpenID Connect (OIDC) 設定を作成します。この設定は OpenShift クラスターマネージャー (OCM) で使用できるように登録されます。
rosa create oidc-config --mode=auto -
CLI 出力で指定された OIDC 設定 ID ROSA をコピーします。HCP を備えた ROSA クラスターを作成するには、後で OIDC 構成 ID を指定する必要があります。
-
ユーザー組織に関連するクラスターで使用可能な OIDC 設定を確認するには、以下のコマンドを実行します。
rosa list oidc-config -
必要な IAM オペレータロールを作成し、 を前にコピーした OIDC 設定 ID
<OIDC_CONFIG_ID>に置き換えます。例
重要
オペレータロールを作成するときは、
<PREFIX_NAME>でプレフィックスを指定する必要があります。そうしないと、エラーが発生します。rosa create operator-roles --prefix <PREFIX_NAME> --oidc-config-id <OIDC_CONFIG_ID> --hosted-cp -
IAM オペレータロールが作成されたことを確認するには、次のコマンドを実行します。
rosa list operator-roles
CLI と を使用して ROSA with HCP ROSA クラスターを作成する AWS STS
AWS Security Token Service (AWS STS) と CLI で提供されているautoモード クラスター を使用して、HCP で ROSA ROSA を作成できます。クラスターを作成するには、パブリック API と Ingress を使用するか、プライベート API と Ingress を使用するかを選択できます。
は、単一のアベイラビリティーゾーン (シングル AZ) または複数のアベイラビリティーゾーン (マルチ AZ) クラスター で作成できます。いずれの場合も、マシンの CIDR 値は VPC の CIDR 値と一致する必要があります。
次の手順では、 rosa create cluster --hosted-cp コマンドを使用して、HCP でシングル AZ ROSA を作成します クラスター。マルチ AZ を作成するには クラスター、 コマンドmulti-azで を指定し、デプロイする各プライベートサブネットのプライベートサブネット IDs を指定します。
-
次のいずれかのコマンドを使用して、HCP クラスターを持つ ROSA を作成します。
-
パブリック API と Ingress を使用して HCP を備えた ROSA クラスターを作成し、クラスター名、オペレーターロールプレフィックス、OIDC 構成 ID、パブリックサブネット ID とプライベートサブネット ID を指定します。
rosa create cluster --cluster-name=<CLUSTER_NAME> --sts --mode=auto --hosted-cp --operator-roles-prefix <OPERATOR_ROLE_PREFIX> --oidc-config-id <OIDC_CONFIG_ID> --subnet-ids=<PUBLIC_SUBNET_ID>,<PRIVATE_SUBNET_ID> -
プライベート API と Ingress を使用して HCP を備えた ROSA クラスターを作成し、クラスター名、オペレーターロールプレフィックス、OIDC 構成 ID、プライベートサブネット ID を指定します。
rosa create cluster --private --cluster-name=<CLUSTER_NAME> --sts --mode=auto --hosted-cp --subnet-ids=<PRIVATE_SUBNET_ID>
-
-
のステータスを確認します クラスター。
rosa describe cluster -c <CLUSTER_NAME>注記
作成プロセスが失敗した場合、または
Stateフィールドが 10 分後に準備完了ステータスに変わらない場合は、「」を参照してくださいトラブルシューティング。サポートが必要な場合は、 サポート 「」または「Red Hat サポート」を参照してくださいROSA サポートを受ける。
-
OpenShift インストーラログを監視して、 クラスター 作成の進行状況を追跡します。
rosa logs install -c <CLUSTER_NAME> --watch
ID プロバイダーを設定し、 クラスター アクセス権を付与する
ROSA には組み込みの OAuth サーバーが含まれています。 クラスター を作成したら、ID プロバイダーを使用するように OAuth を設定する必要があります。次に、設定した ID プロバイダーにユーザーを追加すると、そのユーザーに クラスターへのアクセス権を付与できます。必要に応じて、これらのユーザーに cluster-admin または dedicated-admin 権限を付与できます。
ROSA クラスターにはさまざまな ID プロバイダータイプを設定できます。サポートされているタイプには、GitHub、GitHub Enterprise、GitLab、Google、LDAP、OpenID Connect、および HTPasswd ID プロバイダーが含まれます。
重要
HTPasswd ID プロバイダーは、単一の静的な管理者ユーザーを作成できるようにするためだけに組み込まれています。HTPasswd は ROSAにおける汎用の ID プロバイダーとしてはサポートされていません。
以下の手順では、例として GitHub ID プロバイダーを設定します。サポートされている各 ID プロバイダータイプを設定する方法については、「AWS STS用 ID プロバイダーの設定
-
github.com
に移動し、GitHub アカウントにログインします。 -
の ID プロビジョニングに使用する GitHub 組織がない場合は クラスター、作成します。詳細については、GitHub ドキュメントの手順
を参照してください。 -
CLI ROSA のインタラクティブモードを使用して、クラスターの ID プロバイダーを設定します。
rosa create idp --cluster=<CLUSTER_NAME> --interactive -
出力の設定プロンプトに従って、GitHub 組織のメンバー クラスター へのアクセスを制限します。
I: Interactive mode enabled. Any optional fields can be left empty and a default will be selected. ? Type of identity provider: github ? Identity provider name: github-1 ? Restrict to members of: organizations ? GitHub organizations: <GITHUB_ORG_NAME> ? To use GitHub as an identity provider, you must first register the application: - Open the following URL: https://github.com/organizations/<GITHUB_ORG_NAME>/settings/applications/new?oauth_application%5Bcallback_url%5D=https%3A%2F%2Foauth-openshift.apps.<CLUSTER_NAME>/<RANDOM_STRING>.p1.openshiftapps.com%2Foauth2callback%2Fgithub-1&oauth_application%5Bname%5D=<CLUSTER_NAME>&oauth_application%5Burl%5D=https%3A%2F%2Fconsole-openshift-console.apps.<CLUSTER_NAME>/<RANDOM_STRING>.p1.openshiftapps.com - Click on 'Register application' ... -
出力内の URL を開き、
<GITHUB_ORG_NAME>を GitHub 組織の名前に置き換えます。 -
GitHub ウェブページで、[アプリケーションを登録] を選択して、新しい OAuth アプリケーションを GitHub 組織に登録します。
-
次のコマンドを実行して、GitHub OAuth ページの情報を使用して残りの
rosa create idpインタラクティブプロンプトを入力します。<GITHUB_CLIENT_ID>と<GITHUB_CLIENT_SECRET>を GitHub OAuth アプリケーションの認証情報に置き換えます。... ? Client ID: <GITHUB_CLIENT_ID> ? Client Secret: [? for help] <GITHUB_CLIENT_SECRET> ? GitHub Enterprise Hostname (optional): ? Mapping method: claim I: Configuring IDP for cluster '<CLUSTER_NAME>' I: Identity Provider 'github-1' has been created. It will take up to 1 minute for this configuration to be enabled. To add cluster administrators, see 'rosa grant user --help'. To login into the console, open https://console-openshift-console.apps.<CLUSTER_NAME>.<RANDOM_STRING>.p1.openshiftapps.com and click on github-1.注記
ID プロバイダーの設定が有効になるまでに約 2 分かかる場合があります。
cluster-adminユーザーを設定した場合は、oc get pods -n openshift-authentication --watchを実行して OAuth ポッドが更新された設定で再デプロイされることを確認できます。 -
ID プロバイダーが正しく設定されていることを確認します。
rosa list idps --cluster=<CLUSTER_NAME>
へのアクセスをユーザーに許可する クラスター
設定済みの ID プロバイダーに追加 クラスター することで、 へのアクセス権をユーザーに付与できます。
以下の手順では、クラスターに ID をプロビジョニングするように設定されている GitHub 組織にユーザーを追加します。
-
github.com
に移動し、GitHub アカウントにログインします。 -
GitHub 組織 クラスター へのアクセスを必要とするユーザーを招待します。詳細については、GitHub ドキュメントの「ユーザーを組織に招待する」
を参照してください。
cluster-admin のアクセス許可を設定します。
-
次のコマンドを実行して
cluster-admin権限を付与します。<IDP_USER_NAME>と<CLUSTER_NAME>をお使いのユーザー名とクラスター名に置き換えます。rosa grant user cluster-admin --user=<IDP_USER_NAME> --cluster=<CLUSTER_NAME> -
ユーザーが
cluster-adminsグループのメンバーとしてリストされていることを確認します。rosa list users --cluster=<CLUSTER_NAME>
dedicated-admin のアクセス許可を設定します。
-
次のコマンドを入力して
dedicated-admin権限を付与します。次のコマンド クラスター を実行して、<IDP_USER_NAME>と をユーザー名とパスワード<CLUSTER_NAME>に置き換えます。rosa grant user dedicated-admin --user=<IDP_USER_NAME> --cluster=<CLUSTER_NAME> -
ユーザーが
cluster-adminsグループのメンバーとしてリストされていることを確認します。rosa list users --cluster=<CLUSTER_NAME>
Red Hat Hybrid Cloud コンソール クラスター から にアクセスする
Red Hat Hybrid Cloud Console クラスター を使用して にログインします。
-
次のコマンド クラスター を使用して、 のコンソール URL を取得します。を の名前
<CLUSTER_NAME>に置き換えます クラスター。rosa describe cluster -c <CLUSTER_NAME> | grep Console -
出力内のコンソール URL に移動し、ログインします。
Log in with... ダイアログで、ID プロバイダー名を選択し、プロバイダーから提示された認可リクエストを完了します。
Developer Catalog からアプリケーションをデプロイする
Red Hat Hybrid Cloud Console から、開発者カタログのテストアプリケーションをデプロイし、ルートを使用して公開できます。
-
Red Hat Hybrid Cloud Console
に移動し、アプリケーションをデプロイするクラスターを選択します。 -
クラスターのページで、[コンソールを開く] を選択します。
-
管理者パースペクティブで、[ホーム] > [プロジェクト] > [プロジェクトを作成] を選択します。
-
プロジェクトの名前を入力し、オプションで [表示名] と [説明] を追加します。
-
[作成] を選択してプロジェクトを作成します。
-
開発者パースペクティブに切り替えて [+追加] を選択します。選択したプロジェクトが、今作成したプロジェクトであることを確認してください。
-
[開発者カタログ] ダイアログで、[すべてのサービス] を選択します。
-
[開発者カタログ] ページで、メニューから[言語] > [JavaScript] を選択します。
-
[Node.js] を選択し、[アプリケーションの作成] を選択して [Source-to-Image アプリケーションの作成] ページを開きます。
注記
Node.js オプションを表示するには、[すべてのフィルターをクリア] を選択する必要がある場合があります。
-
[Git] セクションで、[サンプルを試す] を選択します。
-
[名前] フィールドに、一意の名前を追加します。
-
[作成] を選択します。
注記
新しいアプリケーションのデプロイには数分かかります。
-
デプロイが完了したら、アプリケーションのルート URL を選択します。
ブラウザの新しいタブが開き、次のようなメッセージが表示されます。
Welcome to your Node.js application on OpenShift -
(オプション) アプリケーションを削除し、リソースをクリーンアップします。
-
管理者パースペクティブで、[ホーム] > [プロジェクト] を選択します。
-
プロジェクトのアクションメニューを開き、[プロジェクトを削除] を選択します。
-
ユーザーから cluster-admin 権限を取り消す
-
次のコマンドを使用して
cluster-admin権限を無効にします。<IDP_USER_NAME>と を自分のユーザー名とパスワード<CLUSTER_NAME>に置き換えます クラスター 。rosa revoke user cluster-admin --user=<IDP_USER_NAME> --cluster=<CLUSTER_NAME> -
ユーザーが
cluster-adminsグループのメンバーとしてリストされていないことを確認します。rosa list users --cluster=<CLUSTER_NAME>
ユーザーから dedicated-admin 権限を取り消す
-
次のコマンドを使用して
dedicated-admin権限を無効にします。<IDP_USER_NAME>と を自分のユーザー名とパスワード<CLUSTER_NAME>に置き換えます クラスター 。rosa revoke user dedicated-admin --user=<IDP_USER_NAME> --cluster=<CLUSTER_NAME> -
ユーザーが
dedicated-adminsグループのメンバーとしてリストされていないことを確認します。rosa list users --cluster=<CLUSTER_NAME>
へのユーザーアクセスを取り消す クラスター
ID プロバイダーユーザーの クラスター アクセスを取り消すには、設定した ID プロバイダーから削除します。
クラスターにはさまざまな ID プロバイダータイプを設定できます。次の手順では、GitHub 組織のメンバーの クラスター アクセスを取り消します。
-
github.com
に移動し、GitHub アカウントにログインします。 -
GitHub 組織からユーザーを削除します。詳細については、GitHub ドキュメントの「組織からのメンバーアカウントの削除
」を参照してください。
クラスターと AWS STS リソースを削除する
CLI を使用して、 AWS Security Token Service () ROSA クラスター を使用する を削除できますAWS STS。 ROSA CLI を使用して、 によって作成された IAM ロールと OIDC プロバイダーを削除することもできます ROSA。によって作成された IAM ポリシーを削除するには ROSA、 IAM コンソールを使用できます。
注記
IAM によって作成された ロールとポリシーは、同じアカウントの他の ROSA クラスターで使用される ROSA 場合があります。
-
を削除 クラスター し、ログを確認します。
<CLUSTER_NAME>を クラスターの名前または ID で置き換えます。rosa delete cluster --cluster=<CLUSTER_NAME> --watch重要
が完全に削除 クラスター されるまで待ってから、 IAM ロール、ポリシー、および OIDC プロバイダーを削除する必要があります。インストーラーが作成したリソースを削除するには、アカウント IAM ロールが必要です。OpenShift オペレーターが作成したリソースをクリーンアップするには、オペレーター IAM ロールが必要です。オペレーターは OIDC プロバイダーを使用して認証します。
-
次のコマンドを実行して、 クラスター オペレーターが認証に使用する OIDC プロバイダーを削除します。
rosa delete oidc-provider -c <CLUSTER_ID> --mode auto -
クラスター固有のオペレーター IAM ロールを削除します。
rosa delete operator-roles -c <CLUSTER_ID> --mode auto -
以下のコマンドを使用してアカウントの IAM ロールを削除します。
<PREFIX>を、削除するアカウントの IAM ロールのプレフィックスに置き換えます。アカウントの IAM ロールの作成時にカスタムプレフィックスを指定した場合は、デフォルトのManagedOpenShiftプレフィックスを指定します。rosa delete account-roles --prefix <PREFIX> --mode auto -
によって作成された IAM ポリシーを削除します ROSA。
-
IAM コンソール
にログインします。 -
[アクセス管理] の左側のパネルで、[ポリシー] をクリックします。
-
削除するポリシーを選択し、[アクション] > [削除] を選択します。
-
ポリシー名を入力し、[削除] を選択します。
-
このステップを繰り返して、 クラスターの各 IAM ポリシーを削除します。
-