View a markdown version of this page

CLI を使用して ROSA Classic ROSA クラスターを作成する - Red Hat OpenShift Service on AWS

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

CLI を使用して ROSA Classic ROSA クラスターを作成する

以下のセクションでは、 AWS STS と CLI を使用して ROSA Classic ROSA の使用を開始する方法について説明します。Terraform を使用して ROSA Classic クラスターを作成する手順については、Red Hat のドキュメントを参照してください。 ROSA クラスターを作成するための Terraform プロバイダーの詳細については、Terraform ドキュメントを参照してください。

ROSA CLI は auto モードまたは manual モードを使用して、 のプロビジョニング ROSA に必要な IAM リソースを作成します クラスター。 auto モードは、必要な IAM ロールとポリシー、および OpenID Connect (OIDC) プロバイダーを直ちに作成します。 manual モードは、 IAM リソースの作成に必要な AWS CLI コマンドを出力します。manual モードを使用すると、生成された AWS CLI コマンドを手動で実行する前に確認できます。manual モードを使用すると、コマンドを組織内の別の管理者またはグループに渡して、リソースを作成してもらうこともできます。

開始するためのその他のオプションについては、「」を参照してくださいの使用を開始する ROSA

前提条件

に記載されている前提条件となるアクションを完了しますを使用するように をセットアップする ROSA

CLI と を使用して ROSA Classic ROSA クラスターを作成する AWS STS

CLI と クラスター を使用して ROSA Classic ROSA を作成できます AWS STS。

  1. --mode auto または を使用して、必要な IAM アカウントロールとポリシーを作成します--mode manual

  2. --mode auto または クラスター を使用して を作成します--mode manualauto モードを使用すると、クラスターをより迅速に作成できます。 manual モードを使用すると、クラスターのカスタム設定を指定するように求められます。

    • rosa create cluster --cluster-name <CLUSTER_NAME> --sts --mode auto
      注記

      を指定すると--mode autorosa create cluster コマンドはクラスター固有のオペレーター IAM ロールと OIDC プロバイダーを自動的に作成します。オペレーターは OIDC プロバイダーを使用して認証します。

      注記

      --mode auto デフォルトを使用する場合、最新の安定した OpenShift バージョンがインストールされます。

    • rosa create cluster --cluster-name <CLUSTER_NAME> --sts --mode manual
      重要

      manual モードで etcd 暗号化を有効にすると、約 20% のパフォーマンスオーバーヘッドが発生します。オーバーヘッドは、 etcd ボリュームを暗号化するデフォルトの Amazon EBS 暗号化に加えて、この 2 番目の暗号化レイヤーを導入した結果です。

      注記

      manual モードを実行してクラスターを作成したら、クラスター固有のオペレーター IAM ロールと、クラスターオペレーターが認証に使用する OpenID Connect プロバイダーを手動で作成する必要があります。

  3. のステータスを確認します クラスター。

    rosa describe cluster -c <CLUSTER_NAME>
    注記

    プロビジョニングプロセスが失敗した場合、または Stateフィールドが 40 分後に準備完了ステータスに変わらない場合は、「」を参照してくださいトラブルシューティング。サポートが必要な場合は、 サポート 「」または「Red Hat サポート」を参照してくださいROSA サポートを受ける

  4. 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 プロバイダーの設定」を参照してください。

  1. github.com に移動し、GitHub アカウントにログインします。

  2. の ID プロビジョニングに使用する GitHub 組織がない場合は クラスター、組織を作成します。詳細については、GitHub ドキュメントの手順を参照してください。

  3. CLI ROSA のインタラクティブモードを使用して、クラスターの ID プロバイダーを設定します。

    rosa create idp --cluster=<CLUSTER_NAME> --interactive
  4. 出力の設定プロンプトに従って、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' ...
  5. 出力内の URL を開き、<GITHUB_ORG_NAME> を GitHub 組織の名前に置き換えます。

  6. GitHub ウェブページで、[アプリケーションを登録] を選択して、新しい OAuth アプリケーションを GitHub 組織に登録します。

  7. 次のコマンドを実行して、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 ポッドが更新された設定で再デプロイされることを確認できます。

  8. ID プロバイダーが正しく設定されていることを確認します。

    rosa list idps --cluster=<CLUSTER_NAME>

へのアクセスをユーザーに許可する クラスター

設定済みの ID プロバイダーに追加 クラスター することで、 へのアクセス権をユーザーに付与できます。

以下の手順では、クラスターに ID をプロビジョニングするように設定されている GitHub 組織にユーザーを追加します。

  1. github.com に移動し、GitHub アカウントにログインします。

  2. GitHub 組織 クラスター へのアクセスを必要とするユーザーを招待します。詳細については、GitHub ドキュメントの「ユーザーを組織に招待する」を参照してください。

cluster-admin のアクセス許可を設定します。

  1. 次のコマンドを実行して cluster-admin 権限を付与します。<IDP_USER_NAME><CLUSTER_NAME> をお使いのユーザー名とクラスター名に置き換えます。

    rosa grant user cluster-admin --user=<IDP_USER_NAME> --cluster=<CLUSTER_NAME>
  2. ユーザーが cluster-admins グループのメンバーとしてリストされていることを確認します。

    rosa list users --cluster=<CLUSTER_NAME>

dedicated-admin のアクセス許可を設定します。

  1. 次のコマンドを入力して dedicated-admin 権限を付与します。次のコマンド クラスター を実行して、 <IDP_USER_NAME> と をユーザー名とパスワード<CLUSTER_NAME>に置き換えます。

    rosa grant user dedicated-admin --user=<IDP_USER_NAME> --cluster=<CLUSTER_NAME>
  2. ユーザーが cluster-admins グループのメンバーとしてリストされていることを確認します。

    rosa list users --cluster=<CLUSTER_NAME>

Red Hat Hybrid Cloud コンソール クラスター から にアクセスする

クラスター 管理者ユーザーを作成するか、設定された ID プロバイダーにユーザーを追加したら、Red Hat Hybrid Cloud Console クラスター を使用して にログインできます。

  1. 次のコマンド クラスター を使用して、 のコンソール URL を取得します。を の名前<CLUSTER_NAME>に置き換えます クラスター。

    rosa describe cluster -c <CLUSTER_NAME> | grep Console
  2. 出力内のコンソール URL に移動し、ログインします。

    • cluster-admin ユーザーを作成した場合は、提供された認証情報を使用してログインします。

    • の ID プロバイダーを設定した場合は クラスター、Log in with... ダイアログで ID プロバイダー名を選択し、プロバイダーから提示された認可リクエストを完了します。

Developer Catalog からアプリケーションをデプロイする

Red Hat Hybrid Cloud Console から、開発者カタログのテストアプリケーションをデプロイし、ルートを使用して公開できます。

  1. Red Hat Hybrid Cloud Console に移動し、アプリケーションをデプロイするクラスターを選択します。

  2. クラスターのページで、[コンソールを開く] を選択します。

  3. 管理者パースペクティブで、[ホーム] > [プロジェクト] > [プロジェクトを作成] を選択します。

  4. プロジェクトの名前を入力し、オプションで [表示名][説明] を追加します。

  5. [作成] を選択してプロジェクトを作成します。

  6. 開発者パースペクティブに切り替えて [+追加] を選択します。選択したプロジェクトが、今作成したプロジェクトであることを確認してください。

  7. [開発者カタログ] ダイアログで、[すべてのサービス] を選択します。

  8. [開発者カタログ] ページで、メニューから[言語] > [JavaScript] を選択します。

  9. [Node.js] を選択し、[アプリケーションの作成] を選択して [Source-to-Image アプリケーションの作成] ページを開きます。

    注記

    Node.js オプションを表示するには、[すべてのフィルターをクリア] を選択する必要がある場合があります。

  10. [Git] セクションで、[サンプルを試す] を選択します。

  11. [名前] フィールドに、一意の名前を追加します。

  12. [作成] を選択します。

    注記

    新しいアプリケーションのデプロイには数分かかります。

  13. デプロイが完了したら、アプリケーションのルート URL を選択します。

    ブラウザの新しいタブが開き、次のようなメッセージが表示されます。

    Welcome to your Node.js application on OpenShift
  14. (オプション) アプリケーションを削除し、リソースをクリーンアップします。

    1. 管理者パースペクティブで、[ホーム] > [プロジェクト] を選択します。

    2. プロジェクトのアクションメニューを開き、[プロジェクトを削除] を選択します。

ユーザーから cluster-admin 権限を取り消す

  1. 次のコマンドを使用して cluster-admin 権限を無効にします。<IDP_USER_NAME> と を自分のユーザー名とパスワード<CLUSTER_NAME>に置き換えます クラスター 。

    rosa revoke user cluster-admin --user=<IDP_USER_NAME> --cluster=<CLUSTER_NAME>
  2. ユーザーが cluster-admins グループのメンバーとしてリストされていないことを確認します。

    rosa list users --cluster=<CLUSTER_NAME>

ユーザーから dedicated-admin 権限を取り消す

  1. 次のコマンドを使用して dedicated-admin 権限を無効にします。<IDP_USER_NAME> と を自分のユーザー名とパスワード<CLUSTER_NAME>に置き換えます クラスター 。

    rosa revoke user dedicated-admin --user=<IDP_USER_NAME> --cluster=<CLUSTER_NAME>
  2. ユーザーが dedicated-admins グループのメンバーとしてリストされていないことを確認します。

    rosa list users --cluster=<CLUSTER_NAME>

へのユーザーアクセスを取り消す クラスター

ID プロバイダーユーザーの クラスター アクセスを取り消すには、設定された ID プロバイダーから削除します。

クラスターにはさまざまな ID プロバイダータイプを設定できます。次の手順では、GitHub 組織のメンバーの クラスター アクセスを取り消します。

  1. github.com に移動し、GitHub アカウントにログインします。

  2. GitHub 組織からユーザーを削除します。詳細については、GitHub ドキュメントの「組織からのメンバーアカウントの削除」を参照してください。

クラスターと AWS STS リソースを削除する

CLI を使用して、 AWS Security Token Service () ROSA クラスター を使用する を削除できますAWS STS。 ROSA CLI を使用して、 によって作成された IAM ロールと OIDC プロバイダーを削除することもできます ROSA。によって作成された IAM ポリシーを削除するには ROSA、 IAM コンソールを使用できます。

重要

IAM によって作成された ロールとポリシーは、同じアカウントの他の ROSA クラスターで使用される ROSA 場合があります。

  1. を削除 クラスター し、ログを監視します。<CLUSTER_NAME> を クラスターの名前または ID で置き換えます。

    rosa delete cluster --cluster=<CLUSTER_NAME> --watch
    重要

    IAM ロール クラスター 、ポリシー、および OIDC プロバイダーを削除する前に、 が完全に削除されるのを待つ必要があります。インストーラーが作成したリソースを削除するには、アカウント IAM ロールが必要です。OpenShift オペレーターが作成したリソースをクリーンアップするには、オペレーター IAM ロールが必要です。オペレーターは OIDC プロバイダーを使用して認証します。

  2. 次のコマンドを実行して、 クラスター オペレーターが認証に使用する OIDC プロバイダーを削除します。

    rosa delete oidc-provider -c <CLUSTER_ID> --mode auto
  3. クラスター固有のオペレーター IAM ロールを削除します。

    rosa delete operator-roles -c <CLUSTER_ID> --mode auto
  4. 以下のコマンドを使用してアカウントの IAM ロールを削除します。<PREFIX> を、削除するアカウントの IAM ロールのプレフィックスに置き換えます。アカウントの IAM ロールの作成時にカスタムプレフィックスを指定した場合は、デフォルトの ManagedOpenShift プレフィックスを指定します。

    rosa delete account-roles --prefix <PREFIX> --mode auto
  5. によって作成された IAM ポリシーを削除します ROSA。

    1. IAM コンソールにログインします。

    2. [アクセス管理] の左側のパネルで、[ポリシー] をクリックします。

    3. 削除するポリシーを選択し、[アクション] > [削除] を選択します。

    4. ポリシー名を入力し、[削除] を選択します。

    5. このステップを繰り返して、 クラスターの各 IAM ポリシーを削除します。