Menu Close

第1章 デフォルトオプションを使用した STS での ROSA クラスターの作成

デフォルトのオプションと AWS Identity and Access Management (IAM) リソースの自動作成を使用して、Red Hat OpenShift Service on AWS (ROSA) クラスターを迅速に作成します。Red Hat OpenShift Cluster Manager または ROSA CLI (rosa) を使用して、クラスターをデプロイすることができます。

このドキュメントの手順では、auto モードを使用して、アカウント全体の IAM ロールとポリシー、オペレーターポリシー、クラスター固有のオペレーターロール、OpenID Connect (OIDC) ID プロバイダーなど、現在の AWS アカウントを使用して必要な IAM リソースをすぐに作成します。

または、IAM リソースを自動的にデプロイする代わりに、IAM リソースの作成に必要な aws コマンドを出力する manual モードを使用することもできます。auto デプロイメントモードと manual デプロイメントモードについては、自動デプロイメントモードと手動デプロイメントモードを理解するを参照してください。manual モードを使用して ROSA クラスターをデプロイする手順は、カスタマイズを使用したクラスターの作成を参照してください。

1.1. デフォルトのオプションでクラスターを作成する

デフォルトのオプションと auto モードを使用して、Red Hat OpenShift Service on AWS (ROSA) クラスターをすばやく作成します。Red Hat OpenShift Cluster Manager または ROSA CLI (rosa) を使用して、クラスターをデプロイすることができます。

1.1.1. OpenShift Cluster Manager を使用してデフォルトオプションでクラスターを作成する

Red Hat OpenShift Cluster Manager を使用して AWS Security Token Service (STS) を使用する Red Hat OpenShift Service on AWS (ROSA) クラスターを作成する場合、デフォルトのオプションを選択してクラスターをすばやく作成できます。

前提条件

  • STS で ROSA の AWS の前提条件を完了している。
  • 利用可能な AWS サービスクォータがある。
  • AWS コンソールで ROSA サービスを有効にしている。
  • インストールホストに、最新の ROSA CLI (rosa) をインストールして設定している。

    注記

    ROSA 4.10 クラスターを正常にインストールするには、最新バージョンの ROSA CLI を使用します。

  • rosa CLI を使用して Red Hat アカウントにログインしている。
  • AWS Elastic Load Balancing (ELB) サービスロールが AWS アカウントに存在することを確認している。

手順

  1. OpenShift Cluster Manager に移動し、Create clusterを選択します。
  2. Create an OpenShift cluster ページの Red Hat OpenShift Service on AWS (ROSA) 行で Create cluster を選択します。
  3. Accounts and roles ページにリストされている Prerequisites を確認して完了します。チェックボックスを選択して、すべての前提条件を読み、完了したことを確認します。
  4. Associated AWS account ドロップダウンメニューから AWS アカウントを選択します。関連付けられた AWS アカウントが見つからない場合は、Associate AWS account をクリックして、次の手順に従います。

    1. Authenticate ページで、rosa login コマンドの横にあるコピーボタンをクリックします。提供されているコマンドには、ROSA API ログイントークンが含まれています。

      注記

      OpenShift Cluster Manager の OpenShift Cluster Manager API Token ページで API トークンをロードすることもできます。

    2. CLI でコピーしたコマンドを実行して、ROSA アカウントにログインします。

      $ rosa login --token=<api_login_token> 1
      1
      <api_login_token> を、コピーされたコマンドで提供されるトークンに置き換えます。

      出力例

      I: Logged in as '<username>' on 'https://api.openshift.com'

    3. OpenShift Cluster Manager の Authenticate page で、Next をクリックします。
    4. OCM role ページで、Admin OCM role コマンドの横にあるコピーボタンをクリックします。admin ロールは、OpenShift Cluster Manager を使用して、クラスター固有の Operator ロールと OpenID Connect (OIDC) プロバイダーの自動デプロイメントを有効にします。
    5. コピーしたコマンドを CLI で実行し、プロンプトに従って OpenShift Cluster Manager IAM ロールを作成します。

      次の例では、デフォルトのオプションと auto モードを使用して管理者 OpenShift Cluster Manager IAM ロールを作成し、STS リソースを即座に作成します。この例では、OpenShift Cluster Manager IAM ロールを Red Hat 組織にリンクしています。

      $ rosa create ocm-role --admin

      出力例

      I: Creating ocm role
      ? Role prefix: ManagedOpenShift 1
      ? Permissions boundary ARN (optional):  2
      ? Role creation mode: auto 3
      I: Creating role using 'arn:aws:iam::<aws_account_id>:user/<aws_username>'
      ? Create the 'ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' role? Yes
      I: Created role 'ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' with ARN 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>'
      I: Linking OCM role
      ? OCM Role ARN: arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>
      ? Link the 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' role with organization '<red_hat_organization_id>'? Yes 4
      I: Successfully linked role-arn 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' with organization account '<red_hat_organization_id>'

      1
      OpenShift Cluster Manager IAM ロール名に含める接頭辞を指定します。デフォルトは ManagedOpenShift です。
      2
      オプション: ロールのパーミッション境界 Amazon Resource Name (ARN) を指定します。詳細は、AWS ドキュメントの IAM エンティティーのアクセス許可の境界を参照してください。
      3
      ロール作成モードを選択します。auto モードを使用して、OpenShift Cluster Manager IAM ロールを自動的に作成し、それを Red Hat 組織アカウントにリンクすることができます。
      4
      OpenShift Cluster Manager IAM ロールを Red Hat 組織アカウントにリンクします。
    6. OpenShift Cluster Manager OCM role ページで Next を選択します。
    7. User role ページで、User role コマンドのコピーボタンをクリックし、CLI でコマンドを実行します。プロンプトに従って、ユーザーロールを作成します。

      $ rosa create user-role

      出力例

      I: Creating User role
      ? Role prefix: ManagedOpenShift 1
      ? Permissions boundary ARN (optional): 2
      ? Role creation mode: auto 3
      I: Creating ocm user role using 'arn:aws:iam::<aws_account_id>:user/<aws_username>'
      ? Create the 'ManagedOpenShift-User-<ocm_username>-Role' role? Yes
      I: Created role 'ManagedOpenShift-User-<ocm_username>-Role' with ARN 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_username>-Role'
      I: Linking User role
      ? User Role ARN: arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_username>-Role
      ? Link the 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_username>-Role' role with account '<ocm_user_account_id>'? Yes 4
      I: Successfully linked role ARN 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_username>-Role' with account '<ocm_user_account_id>'

      1
      ユーザーロール名に含める接頭辞を指定します。デフォルトは ManagedOpenShift です。
      2
      オプション: ロールのパーミッション境界 Amazon Resource Name (ARN) を指定します。詳細は、AWS ドキュメントの IAM エンティティーのアクセス許可の境界を参照してください。
      3
      ロール作成モードを選択します。auto モードを使用して、ユーザーロールを自動的に作成し、OpenShift Cluster Manager ユーザーアカウントにリンクすることができます。
      4
      ユーザーロールを OpenShift Cluster Manager ユーザーアカウントにリンクします。
    8. OpenShift Cluster Manager の User role ページで、Ok を選択します。
    9. Accounts and roles ページで、AWS アカウントが関連付けられた AWS アカウントとしてリストされていることを確認します。
  5. 必要な AWS IAM アカウントのロール が自動的に検出されず、Accounts and roles ページに一覧表示されない場合は、ロールとポリシーを作成します。

    1. rosa create account-roles コマンドの横にあるコピーバッファーをクリックします。CLI でコマンドを実行して、Operator ポリシーを含む必要な AWS アカウント全体のロールとポリシーを作成します。

      $ rosa create account-roles

      出力例

      I: Logged in as '<ocm_username>' on 'https://api.openshift.com'
      I: Validating AWS credentials...
      I: AWS credentials are valid!
      I: Validating AWS quota...
      I: AWS quota ok. If cluster installation fails, validate actual AWS resource usage against https://docs.openshift.com/rosa/rosa_getting_started/rosa-required-aws-service-quotas.html
      I: Verifying whether OpenShift command-line tool is available...
      I: Current OpenShift Client Version: 4.9.12
      I: Creating account roles
      ? Role prefix: ManagedOpenShift 1
      ? Permissions boundary ARN (optional): 2
      ? Role creation mode: auto 3
      I: Creating roles using 'arn:aws:iam::<aws_account_number>:user/<aws_username>'
      ? Create the 'ManagedOpenShift-Installer-Role' role? Yes 4
      I: Created role 'ManagedOpenShift-Installer-Role' with ARN 'arn:aws:iam::<aws_account_number>:role/ManagedOpenShift-Installer-Role'
      ? Create the 'ManagedOpenShift-ControlPlane-Role' role? Yes 5
      I: Created role 'ManagedOpenShift-ControlPlane-Role' with ARN 'arn:aws:iam::<aws_account_number>:role/ManagedOpenShift-ControlPlane-Role'
      ? Create the 'ManagedOpenShift-Worker-Role' role? Yes 6
      I: Created role 'ManagedOpenShift-Worker-Role' with ARN 'arn:aws:iam::<aws_account_number>:role/ManagedOpenShift-Worker-Role'
      ? Create the 'ManagedOpenShift-Support-Role' role? Yes 7
      I: Created role 'ManagedOpenShift-Support-Role' with ARN 'arn:aws:iam::<aws_account_number>:role/ManagedOpenShift-Support-Role'
      ? Create the operator policies? Yes 8
      I: Created policy with ARN 'arn:aws:iam::<aws_account_number>:policy/ManagedOpenShift-openshift-cloud-credential-operator-cloud-crede'
      I: Created policy with ARN 'arn:aws:iam::<aws_account_number>:policy/ManagedOpenShift-openshift-image-registry-installer-cloud-creden'
      I: Created policy with ARN 'arn:aws:iam::<aws_account_number>:policy/ManagedOpenShift-openshift-ingress-operator-cloud-credentials'
      I: Created policy with ARN 'arn:aws:iam::<aws_account_number>:policy/ManagedOpenShift-openshift-cluster-csi-drivers-ebs-cloud-credent'
      I: Created policy with ARN 'arn:aws:iam::<aws_account_number>:policy/ManagedOpenShift-openshift-cloud-network-config-controller-cloud'
      I: Created policy with ARN 'arn:aws:iam::<aws_account_number>:policy/ManagedOpenShift-openshift-machine-api-aws-cloud-credentials'
      I: To create a cluster with these roles, run the following command:
      rosa create cluster --sts

      1
      アカウント全体のロール名とポリシー名に含める接頭辞を指定します。デフォルトは ManagedOpenShift です。
      2
      オプション: ロールのパーミッション境界 Amazon Resource Name (ARN) を指定します。詳細は、AWS ドキュメントの IAM エンティティーのアクセス許可の境界を参照してください。
      3
      ロール作成モードを選択します。auto モードを使用して、アカウント全体のロールとポリシーを自動的に作成できます。
      4 5 6 7
      アカウント全体のインストーラー、コントロールプレーン、ワーカー、サポートロールおよび対応する IAM ポリシーを作成します。詳細については、アカウント全体の IAM ロールとポリシーリファレンスを参照してください。
      8
      ROSA クラスター Operator がコア OpenShift 機能を実行できるようにするクラスター固有の Operator IAM ロールを作成します。詳細については、アカウント全体の IAM ロールとポリシーリファレンスを参照してください。
    2. Accounts and roles ページで、Refresh ARNs をクリックし、インストーラー、サポート、ワーカー、およびコントロールプレーンのアカウントのロールが検出されていることを確認します。
  6. Next を選択します。
  7. Cluster details ページで、クラスターの名前を指定し、クラスターの詳細を指定します。

    1. クラスター名 を追加します。
    2. Version ドロップダウンメニューからクラスターバージョンを選択します。
    3. Region ドロップダウンメニューからクラウドプロバイダーのリージョンを選択します。
    4. Single zone または Multi-zone 設定を選択し ます。
    5. Enable user workloads monitoring を選択したままにして、Red Hat サイト信頼性エンジニアリング (SRE) プラットフォームメトリクスから切り離して独自のプロジェクトをモニターします。このオプションはデフォルトで有効になっています。
    6. オプション:etcd キー値の暗号化が必要な場合には、Enable additional etcd encryption を選択します。このオプションを使用すると、etcd キーの値は暗号化されますが、キーは暗号化されません。このオプションは、デフォルトで Red Hat OpenShift Service on AWS クラスター内の etcd ボリュームを暗号化するコントロールプレーンストレージ暗号化に追加されます。

      注記

      etcd のキー値の etcd 暗号化を有効にすると、約 20% のパフォーマンスのオーバーヘッドが発生します。このオーバーヘッドは、etcd ボリュームを暗号化するデフォルトのコントロールプレーンのストレージ暗号化に加えて、この 2 つ目の暗号化レイヤーの導入により生じます。お客様のユースケースで特にetcd 暗号化が必要な場合にのみ、暗号化を有効にすることを検討してください。

    7. オプション:独自の AWS Key Management Service (KMS)キーの Amazon Resource Name (ARN)を提供する場合は、Encrypt persistent volumes with customer keys を選択します。このキーは、クラスター内の永続ボリュームの暗号化に使用されます。
    8. 次へ をクリックします。
  8. Default machine pool ページで、Compute node instance type を選択します。

    注記

    クラスターの作成後に、クラスター内のコンピュートノード数を変更できますが、デフォルトのマシンプールのコンピュートノードインスタンスのタイプを変更することはできません。使用可能なノードの数とタイプは、単一または複数のアベイラビリティーゾーンを使用するかどうかによって異なります。また、AWS アカウントと選択したリージョンで何が有効で利用可能かによっても異なります。

  9. オプション: デフォルトのマシンプールの自動スケーリングを設定します。

    1. Enable autoscaling を選択し、デプロイメントのニーズを満たすためにデフォルトのマシンプール内のマシン数を自動的にスケーリングします。
    2. 自動スケーリングの最小および最大のノード数制限を設定します。Cluster Autoscaler は、指定する制限を超えてデフォルトのマシンプールノード数を減らしたり、増やしたりできません。

      • 単一アベイラビリティーゾーンを使用してクラスターをデプロイした場合は、最小および最大のノード数 を設定します。これは、アベイラビリティーゾーンのコンピュートノードの最小および最大の制限を定義します。
      • 複数のアベイラビリティーゾーンを使用してクラスターをデプロイした場合は、Minimum nodes per zone および Maximum nodes per zone を設定します。これは、ゾーンごとの最小および最大のコンピュート制限を定義します。
      注記

      または、デフォルトのマシンプールの作成後にマシンプールの自動スケーリングを設定できます。

  10. 自動スケーリングを有効にしなかった場合は、デフォルトのマシンプールのコンピュートノード数を選択します。

    • 単一アベイラビリティーゾーンを使用してクラスターをデプロイした場合は、ドロップダウンメニューから コンピュートノード数 を選択します。これは、ゾーンのマシンプールにプロビジョニングするコンピュートノードの数を定義します。
    • 複数のアベイラビリティーゾーンを使用してクラスターをデプロイした場合は、ドロップダウンメニューから コンピュートノードの数 (ゾーンごと) を選択します。これは、ゾーンごとにマシンプールにプロビジョニングするコンピュートノードの数を定義します。
  11. 任意手順: Edit node labels を展開してラベルをノードに追加します。Add label をクリックしてさらにノードラベルを追加し、Next を選択します。
  12. Network configuration ページの Cluster privacy セクションで、Public または Privateを選択して、クラスターのパブリックまたはプライベート API エンドポイントとアプリケーションルートを使用します。

    重要

    プライベート API エンドポイントを使用している場合、クラウドプロバイダーアカウントのネットワーク設定を更新するまでクラスターにはアクセスできません。

  13. オプション: パブリック API エンドポイントを使用することを選択した場合は、既存の VPC にインストールを選択して、クラスターを 既存の VPC にインストールできます。

    注記

    プライベート API エンドポイントを使用することを選択した場合は、既存の VPC と PrivateLink を使用する必要があり、既存の VPC にインストールしてUse a PrivateLink オプションが自動的に選択されます。これらのオプションを使用すると、Red Hat サイト信頼性エンジニアリング (SRE) チームはクラスターに接続して、AWS PrivateLink エンドポイントのみを使用してサポートを行うことができます。

  14. オプション: クラスターを既存の VPC にインストールする場合は、Configure a cluster-wide proxy を選択して、HTTP または HTTPS プロキシーがクラスターからインターネットへの直接アクセスを拒否できるようにします。
  15. 次へ をクリックします。
  16. クラスターを既存の AWS VPC にインストールする場合、Virtual Private Cloud (VPC)サブネット設定 を指定します。

    注記

    クラスターをインストールするアベイラビリティーゾーンごとに、VPC がパブリックおよびプライベートサブネットで設定されるようにする必要があります。PrivateLink を使用する場合には、プライベートサブネットのみが必要になります。

  17. CIDR ranges ダイアログで、カスタムのClassless Inter-Domain Routing (CIDR)範囲を設定するか、または提供されるデフォルトを使用して、Next を、クリックします。

    注記

    VPC にインストールする場合、Machine CIDR 範囲は VPC サブネットに一致する必要があります。

    重要

    CIDR 設定は後で変更することはできません。続行する前に、ネットワーク管理者と選択内容を確認してください。

  18. Cluster roles and policies ページで、Auto モードを選択します。このモードでは、クラスター固有のオペレーター IAM ロールと OIDC プロバイダーを自動的に作成できます。

    注記

    Auto モードを有効にするには、OpenShift Cluster Manager IAM ロールに管理者機能が必要です。

    または、Manual モードを使用してクラスター固有の IAM ロールと OIDC プロバイダーを作成する場合は、カスタマイズを使用したクラスターの作成を参照してください。

  19. オプション: クラスター固有のオペレーターロールの カスタムオペレーターロール接頭辞を指定します。

    注記

    デフォルトでは、クラスター固有のオペレーターのロール名には、クラスター名とランダムな 4 桁のハッシュが接頭辞として付けられます。オプションで、ロール名の <cluster_name>-<hash> を置き換えるカスタム接頭辞を指定できます。接頭辞は、クラスター固有の Operator IAM ロールを作成するときに適用されます。接頭辞の詳細は、カスタム Operator IAM ロール接頭辞についてを参照してください。

  20. Next を選択します。
  21. Cluster update strategy ページで、更新設定を行います。

    1. クラスターの更新方法を選択します。

      • 各更新を個別にスケジュールする場合は、Individual updatesを選択します。以下はデフォルトのオプションになります。
      • Recurring updatesを選択して、更新が利用可能な場合に、希望の曜日と開始時刻にクラスターを更新します。

        重要

        定期的な更新を選択した場合でも、マイナーリリース間でクラスターをアップグレードする前に、アカウント全体およびクラスター固有の IAM リソースを更新する必要があります。

        注記

        保守終了日は、Red Hat OpenShift Service on AWS の更新ライフサイクルドキュメントで確認できます。詳細については、Red Hat OpenShift Service on AWS 更新ライフサイクル を参照してください。

    2. 繰り返し更新を選択した場合は、ドロップダウンメニューから希望の曜日およびアップグレード開始時刻(UTC)を選択します。
    3. オプション: クラスターアップグレード時の ノードのドレイン (解放) の猶予期間を設定できます。デフォルトで 1 時間 の猶予期間が設定されます。
    4. 次へ をクリックします。

      注記

      クラスターのセキュリティーまたは安定性に大きく影響する重大なセキュリティー問題がある場合、Red Hat サイト信頼性エンジニアリング(SRE)は、影響を受けない最新の zストリームバージョンへの自動更新をスケジュールする場合があります。更新は、お客様に通知された後、48 時間以内に適用されます。重大な影響を及ぼすセキュリティー評価の説明は、「Understanding Red Hat security ratings」を参照してください。

  22. 選択の概要を確認し、Create cluster をクリックしてクラスターのインストールを開始します。

検証

  • クラスターの Overview ページで、インストールの進捗をモニターできます。同じページでインストールのログを表示できます。そのページの Details セクションの StatusReady として表示されると、クラスターは準備が完了した状態になります。

    注記

    インストールが失敗するか、約 40 分経ってもクラスターの 状態Ready に変わらない場合は、インストールのトラブルシューティングのドキュメントで詳細を確認してください。詳細は、インストールのトラブルシューティングを参照してください。Red Hat サポートにサポートを依頼する手順は、Red Hat OpenShift Service on AWS のサポートを受けるを参照してください。

1.1.2. CLI を使用してデフォルトオプションでクラスターを作成する

Red Hat OpenShift Service on AWS (ROSA) CL I(rosa) を使用して AWS Security Token Service (STS) を使用するクラスターを作成する場合、デフォルトのオプションを選択してクラスターをすばやく作成できます。

前提条件

  • STS で ROSA の AWS の前提条件を完了している。
  • 利用可能な AWS サービスクォータがある。
  • AWS コンソールで ROSA サービスを有効にしている。
  • インストールホストに、最新の ROSA CLI (rosa) をインストールして設定している。

    注記

    ROSA 4.10 クラスターを正常にインストールするには、最新バージョンの ROSA CLI を使用します。

  • rosa CLI を使用して Red Hat アカウントにログインしている。
  • AWS Elastic Load Balancing (ELB) サービスロールが AWS アカウントに存在することを確認している。

手順

  1. Operator ポリシーを含む、必要なアカウント全体のロールおよびポリシーを作成します。

    $ rosa create account-roles --mode auto
    注記

    auto モードを使用する場合は、任意で -y 引数を指定して対話式プロンプトを回避し、操作を自動的にチェックできます。

  2. デフォルトを使用して STS でクラスターを作成します。デフォルトを使用する場合は、最新の安定した OpenShift バージョンがインストールされます。

    $ rosa create cluster --cluster-name <cluster_name> --sts --mode auto 1
    1
    <cluster_name> をクラスターの名前に置き換えます。
    注記

    --mode auto を指定すると、rosa create cluster コマンドは、クラスター固有の Operator IAM ロールおよび OIDC プロバイダーを自動的に作成します。Operator は、OIDC プロバイダーを利用して認証を行います。

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

    $ rosa describe cluster --cluster <cluster_name|cluster_id>

    以下の State フィールドの変更は、クラスターインストールの進捗として出力に表示されます。

    • waiting (Waiting for OIDC configuration)
    • pending (Preparing account)
    • installing (DNS setup in progress)
    • installing
    • ready

      注記

      インストールが失敗した場合や、約 40 分後に State フィールドが ready に変わらない場合は、インストールのトラブルシューティングに関するドキュメントで詳細を確認してください。詳細は、インストールのトラブルシューティングを参照してください。Red Hat サポートにサポートを依頼する手順は、Red Hat OpenShift Service on AWS のサポートを受けるを参照してください。

  4. OpenShift インストーラーログを監視して、クラスター作成の進捗を追跡します。

    $ rosa logs install --cluster <cluster_name|cluster_id> --watch 1
    1
    --watch フラグを指定して、新規ログメッセージをインストールの進捗として監視します。この引数は任意です。