Menu Close

2.3. カスタマイズを使用したクラスターの作成

ご使用の環境のニーズに適した設定で、AWS Security Token Service (STS) クラスターを備えた Red Hat OpenShift Service on AWS (ROSA) をデプロイします。Red Hat OpenShift Cluster Manager または ROSA CLI (rosa) を使用して、カスタマイズを使用してクラスターをデプロイできます。

2.3.1. OpenShift Cluster Manager を使用してカスタマイズしたクラスターを作成する

AWS Security Token Service (STS) を使用する Red Hat OpenShift Service on AWS (ROSA) クラスターを作成する場合、Red Hat OpenShift Cluster Manager を使用して、インストールをインタラクティブにカスタマイズできます。

重要

STS では、パブリックおよび AWS PrivateLink クラスターのみがサポートされます。通常の プライベートクラスター (PrivateLink 以外) は STS では使用できません。

注記

現時点で、AWS 共有 VPC は 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 ページで、Basic OCM role または Admin OCM role コマンドの横にあるコピーボタンをクリックします。

      基本ロールにより、OpenShift Cluster Manager は ROSA に必要な AWS IAM ロールとポリシーを検出できます。管理者ロールは、ロールとポリシーの検出も可能にします。さらに、管理者ロールを使用すると、OpenShift Cluster Manager を使用して、クラスター固有の Operator ロールと OpenID Connect (OIDC) プロバイダーを自動的にデプロイできます。

    5. コピーしたコマンドを CLI で実行し、プロンプトに従って OpenShift Cluster Manager IAM ロールを作成します。次の例では、デフォルトのオプションを使用して基本的な OpenShift Cluster Manager IAM ロールを作成します。

      $ rosa create ocm-role

      出力例

      I: Creating ocm role
      ? Role prefix: ManagedOpenShift 1
      ? Enable admin capabilities for the OCM role (optional): No 2
      ? Permissions boundary ARN (optional):  3
      ? Role creation mode: auto 4
      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 5
      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
      管理者 OpenShift Cluster Manager IAM ロールを有効にします。これは、--admin 引数を指定するのと同じです。自動 モードを使用して、OpenShift Cluster Manager を使用してクラスター固有の Operator ロールと OIDC プロバイダーを自動的にプロビジョニングする場合は、管理者ロールが必要です。
      3
      オプション: ロールのパーミッション境界 Amazon Resource Name (ARN) を指定します。詳細は、AWS ドキュメントの IAM エンティティーのアクセス許可の境界を参照してください。
      4
      ロール作成モードを選択します。auto モードを使用して、OpenShift Cluster Manager IAM ロールを自動的に作成し、それを Red Hat 組織アカウントにリンクすることができます。manual モードでは、rosa CLI はロールの作成とリンクに必要な aws コマンドを生成します。manual モードでは、対応するポリシー JSON ファイルも現在のディレクトリーに保存されます。manual モードでは、aws コマンドを手動で実行する前に詳細を確認することができます。
      5
      OpenShift Cluster Manager IAM ロールを Red Hat 組織アカウントにリンクします。
    6. 上記のコマンドで OpenShift Cluster Manager IAM ロールを Red Hat 組織アカウントにリンクしないことを選択した場合は、OpenShift Cluster Manager OCM role ページから rosa link コマンドをコピーして実行します。

      $ rosa link ocm-role <arn> 1
      1
      <arn> を、前のコマンドの出力に含まれている OpenShift Cluster Manager IAM の ARN に置き換えます。
    7. OpenShift Cluster Manager OCM role ページで Next を選択します。
    8. 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 ユーザーアカウントにリンクすることができます。manual モードでは、rosa CLI はロールの作成とリンクに必要な aws コマンドを生成します。manual モードでは、対応するポリシー JSON ファイルも現在のディレクトリーに保存されます。manual モードでは、aws コマンドを手動で実行する前に詳細を確認することができます。
      4
      ユーザーロールを OpenShift Cluster Manager ユーザーアカウントにリンクします。
    9. 上記のコマンドでユーザーロールを OpenShift Cluster Manager ユーザーアカウントにリンクしないことを選択した場合は、OpenShift Cluster Manager User role ページから rosa link コマンドをコピーして実行します。

      $ rosa link user-role <arn> 1
      1
      <arn> を、前のコマンドの出力に含まれているユーザーロールの ARN に置き換えます。
    10. OpenShift Cluster Manager の User role ページで、Ok を選択します。
    11. 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
      OpenShift Cluster Manager IAM ロール名に含める接頭辞を指定します。デフォルトは ManagedOpenShift です。
      2
      オプション: ロールのパーミッション境界 Amazon Resource Name (ARN) を指定します。詳細は、AWS ドキュメントの IAM エンティティーのアクセス許可の境界を参照してください。
      3
      ロール作成モードを選択します。auto モードを使用して、アカウント全体のロールとポリシーを自動的に作成できます。manual モードでは、rosa CLI はロールとポリシーの作成に必要な aws コマンドを生成します。manual モードでは、対応するポリシー JSON ファイルも現在のディレクトリーに保存されます。manual モードでは、aws コマンドを手動で実行する前に詳細を確認することができます。
      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. クラスターのロールとポリシーページで、優先するクラスター固有のオペレーター IAM のロールと OIDC プロバイダーの作成モードを選択します。

    Manual モードでは、rosa CLI コマンドまたは aws CLI コマンドのいずれかを使用して、クラスターに必要な Operator ロールと OIDC プロバイダーを生成できます。手動 モードでは、優先オプションを使用して IAM リソースを手動で作成し、クラスターのインストールを完了する前に、詳細を確認できます。

    または、自動 モードを使用して、オペレーターのロールと OIDC プロバイダーを自動的に作成することもできます。

    注記

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

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

    注記

    デフォルトでは、クラスター固有のオペレーターのロール名には、クラスター名とランダムな 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 をクリックしてクラスターのインストールを開始します。
  23. 手動 モードを使用することを選択した場合は、クラスター固有の Operator のロールと OIDC プロバイダーを手動で作成して、インストールを続行します。

    1. Action required to continue installation ダイアログで、AWS CLI または ROSA CLI タブを選択し、リソースを手動で作成します。

      • AWS CLI メソッドを使用することを選択した場合は、Download .zip をクリックしてファイルを保存してから、AWS CLI コマンドとポリシーファイルを展開します。次に、CLI で提供されている aws コマンドを実行します。

        注記

        ポリシーファイルを含むディレクトリーで aws コマンドを実行する必要があります。

      • ROSA CLI メソッドを使用することを選択した場合は、rosa create コマンドの横にあるコピーボタンをクリックして、CLI で実行します。
    2. Action required to continue installation ダイアログで、x をクリックしてクラスターの Overview ページに戻ります。
    3. Overview ページの Details セクションで、クラスターの StatusWaiting から Installing に変更されていることを確認します。ステータスが変わるまでに約 2 分の短い遅延が発生する場合があります。
    注記

    自動 モードの使用を選択した場合、OpenShift Cluster Manager は Operator ロールと OIDC プロバイダーを自動的に作成します。

検証

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

    注記

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