検索

17.4. クラスターのデプロイ

download PDF

17.4.1. チュートリアル: デプロイ方法の選択

このチュートリアルでは、クラスターをデプロイするさまざまな方法を説明します。設定や要件に最適なデプロイメント方法を選択してください。

17.4.1.1. デプロイ方法

任意の条件に合わせてデプロイメントをしてください。

上記のデプロイ方法はすべて、このチュートリアルで問題なく使用できます。このチュートリアルを初めて行う場合は、CLI 簡易ガイド が最も簡単で推奨される方法です。

17.4.2. チュートリアル: CLI 簡易ガイド

このページでは、コマンドラインインターフェイス (CLI) を使用して Red Hat OpenShift Service on AWS (ROSA) クラスターをデプロイするための最小限のコマンドを説明します。

注記

この単純なデプロイメントはチュートリアル環境では問題なく機能しますが、実稼働環境で使用するクラスターはより詳細な方法でデプロイする必要があります。

17.4.2.1. 前提条件

  • セットアップのチュートリアルの前提条件を完了している。

17.4.2.2. アカウントロールの作成

AWS アカウントおよび OpenShift の y-stream バージョンごとに次のコマンドを 1 回 実行します。

rosa create account-roles --mode auto --yes

17.4.2.3. クラスターのデプロイ

  1. 次のコマンドを実行して、デフォルト設定でクラスターを作成します。クラスター名は独自のものに置き換えてください。

    rosa create cluster --cluster-name <cluster-name> --sts --mode auto --yes
  2. 次のコマンドを実行して、クラスターのステータスを確認します。

    rosa list clusters

17.4.3. チュートリアル: CLI 詳細ガイド

このチュートリアルでは、ROSA CLI を使用して ROSA クラスターをデプロイする詳細な手順を説明します。

17.4.3.1. CLI のデプロイメントモード

ROSA クラスターのデプロイには 2 つのモードがあります。1 つは自動モードです。より迅速であり、作業が自動的に実行されます。もう 1 つは手動モードです。追加のコマンドを実行する必要があり、作成中のロールとポリシーを確認できます。このチュートリアルでは、両方のオプションを説明します。

クラスターを迅速に作成する場合は、自動オプションを使用します。作成中のロールとポリシーを確認する場合は、手動オプションを使用します。

デプロイメントモードを選択するには、関連するコマンドで --mode フラグを使用します。

--mode の有効なオプションは次のとおりです。

  • manual: ロールとポリシーが作成され、現在のディレクトリーに保存されます。その後、指定のコマンドを手動で実行する必要があります。このオプションを使用すると、ポリシーとロールを作成する前に確認できます。
  • auto: ロールとポリシーが現在の AWS アカウントを使用して自動的に作成され、適用されます。
ヒント

このチュートリアルではどちらのデプロイ方法も使用できます。auto モードはより高速で、ステップ数が少なくなります。

17.4.3.2. デプロイメントワークフロー

全体的なデプロイメントワークフローは、次のステップに基づいています。

  1. rosa create account-roles - これはアカウントごとに 1 回 だけ実行します。アカウントロールを一度作成したら、同じ y-stream バージョンの他のクラスターに対して再度作成する必要は ありません
  2. rosa create cluster
  3. rosa create operator-roles - 手動モードのみ。
  4. rosa create oidc-provider - 手動モードのみ。

自動モードの場合、同じ y-stream バージョンの同じアカウント内のクラスターごとに、ステップ 2 のみを実行する必要があります。手動モードの場合、ステップ 2 - 4 を実行する必要があります。

17.4.3.3. 自動モード

ROSA CLI でロールとポリシーの作成を自動化し、クラスターを迅速に作成する場合は、この方法を使用します。

17.4.3.3.1. アカウントロールの作成

このアカウントに ROSA を 初めて デプロイし、アカウントロールをまだ 作成していない 場合は、Operator ポリシーを含むアカウント全体のロールとポリシーを作成します。

次のコマンドを実行して、アカウント全体のロールを作成します。

rosa create account-roles --mode auto --yes

出力例

I: Creating roles using 'arn:aws:iam::000000000000:user/rosa-user'
I: Created role 'ManagedOpenShift-ControlPlane-Role' with ARN 'arn:aws:iam::000000000000:role/ManagedOpenShift-ControlPlane-Role'
I: Created role 'ManagedOpenShift-Worker-Role' with ARN 'arn:aws:iam::000000000000:role/ManagedOpenShift-Worker-Role'
I: Created role 'ManagedOpenShift-Support-Role' with ARN 'arn:aws:iam::000000000000:role/ManagedOpenShift-Support-Role'
I: Created role 'ManagedOpenShift-Installer-Role' with ARN 'arn:aws:iam::000000000000:role/ManagedOpenShift-Installer-Role'
I: Created policy with ARN 'arn:aws:iam::000000000000:policy/ManagedOpenShift-openshift-machine-api-aws-cloud-credentials'
I: Created policy with ARN 'arn:aws:iam::000000000000:policy/ManagedOpenShift-openshift-cloud-credential-operator-cloud-crede'
I: Created policy with ARN 'arn:aws:iam::000000000000:policy/ManagedOpenShift-openshift-image-registry-installer-cloud-creden'
I: Created policy with ARN 'arn:aws:iam::000000000000:policy/ManagedOpenShift-openshift-ingress-operator-cloud-credentials'
I: Created policy with ARN 'arn:aws:iam::000000000000:policy/ManagedOpenShift-openshift-cluster-csi-drivers-ebs-cloud-credent'
I: To create a cluster with these roles, run the following command:
    rosa create cluster --sts

17.4.3.3.2. クラスターの作成

次のコマンドを実行して、すべてのデフォルトオプションを使用してクラスターを作成します。

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

これにより、必要な Operator ロールと OIDC プロバイダーも作成されます。クラスターで使用可能なすべてのオプションを確認する場合は、--help フラグを使用するか、対話モードの場合は --interactive を使用してください。

入力の例

$ rosa create cluster --cluster-name my-rosa-cluster --sts --mode auto --yes

出力例

I: Creating cluster 'my-rosa-cluster'
I: To view a list of clusters and their status, run 'rosa list clusters'
I: Cluster 'my-rosa-cluster' has been created.
I: Once the cluster is installed you will need to add an Identity Provider before you can login into the cluster. See 'rosa create idp --help' for more information.
I: To determine when your cluster is Ready, run 'rosa describe cluster -c my-rosa-cluster'.
I: To watch your cluster installation logs, run 'rosa logs install -c my-rosa-cluster --watch'.
Name:                       my-rosa-cluster
ID:                         1mlhulb3bo0l54ojd0ji000000000000
External ID:
OpenShift Version:
Channel Group:              stable
DNS:                        my-rosa-cluster.ibhp.p1.openshiftapps.com
AWS Account:                000000000000
API URL:
Console URL:
Region:                     us-west-2
Multi-AZ:                   false
Nodes:
- Master:                  3
- Infra:                   2
- Compute:                 2
Network:
- Service CIDR:            172.30.0.0/16
- Machine CIDR:            10.0.0.0/16
- Pod CIDR:                10.128.0.0/14
- Host Prefix:             /23
STS Role ARN:               arn:aws:iam::000000000000:role/ManagedOpenShift-Installer-Role
Support Role ARN:           arn:aws:iam::000000000000:role/ManagedOpenShift-Support-Role
Instance IAM Roles:
- Master:                  arn:aws:iam::000000000000:role/ManagedOpenShift-ControlPlane-Role
- Worker:                  arn:aws:iam::000000000000:role/ManagedOpenShift-Worker-Role
Operator IAM Roles:
- arn:aws:iam::000000000000:role/my-rosa-cluster-openshift-image-registry-installer-cloud-credentials
- arn:aws:iam::000000000000:role/my-rosa-cluster-openshift-ingress-operator-cloud-credentials
- arn:aws:iam::000000000000:role/my-rosa-cluster-openshift-cluster-csi-drivers-ebs-cloud-credentials
- arn:aws:iam::000000000000:role/my-rosa-cluster-openshift-machine-api-aws-cloud-credentials
- arn:aws:iam::000000000000:role/my-rosa-cluster-openshift-cloud-credential-operator-cloud-credential-oper
State:                      waiting (Waiting for OIDC configuration)
Private:                    No
Created:                    Oct 28 2021 20:28:09 UTC
Details Page:               https://console.redhat.com/openshift/details/s/1wupmiQy45xr1nN000000000000
OIDC Endpoint URL:          https://rh-oidc.s3.us-east-1.amazonaws.com/1mlhulb3bo0l54ojd0ji000000000000

17.4.3.3.2.1. デフォルト設定

デフォルトの設定は次のとおりです。

  • ノード:

    • 3 つのコントロールプレーンノード
    • 2 つのインフラストラクチャーノード
    • 2 つのワーカーノード
    • 自動スケーリングなし
    • 詳細は、ec2 インスタンス のドキュメントを参照してください。
  • リージョン: aws CLI の設定どおり
  • ネットワーク IP 範囲:

    • Machine CIDR: 10.0.0.0/16
    • Service CIDR: 172.30.0.0/16
    • Pod CIDR: 10.128.0.0/14
  • 新しい VPC
  • 暗号化用のデフォルトの AWS KMS キー
  • rosa で利用可能な OpenShift の最新バージョン
  • 単一のアベイラビリティーゾーン
  • パブリッククラスター
17.4.3.3.3. インストールステータスの確認
  1. 次のコマンドのいずれかを実行して、クラスターのステータスを確認します。

    • ステータスの詳細を表示するには、次を実行します。

      rosa describe cluster --cluster <cluster-name>
    • ステータスの要約を表示するには、次を実行します。

      rosa list clusters
  2. クラスターの状態が、“waiting”、“installing”、"ready" の順に変わります。これには約 40 分かかります。
  3. 状態が “ready” に変われば、クラスターのインストールは完了です。

17.4.3.4. 手動モード

ロールとポリシーをクラスターに適用する前に確認する場合は、手動の方法を使用します。この方法では、ロールとポリシーを作成するためにいくつかの追加コマンドを実行する必要があります。

このセクションでは --interactive モードを使用します。このセクションのフィールドの説明については、対話モード に関するドキュメントを参照してください。

17.4.3.4.1. アカウントロールの作成
  1. このアカウントに ROSA を 初めて デプロイし、アカウントロールをまだ 作成していない 場合は、Operator ポリシーを含むアカウント全体のロールとポリシーを作成します。このコマンドは、アカウントに必要なロールとポリシーに必要な JSON ファイルを現在のディレクトリーに作成します。また、これらのオブジェクトを作成するために実行する必要がある aws CLI コマンドも出力されます。

    次のコマンドを実行して必要なファイルを作成し、追加のコマンドを出力します。

    rosa create account-roles --mode manual

    出力例

    I: All policy files saved to the current directory
    I: Run the following commands to create the account roles and policies:
    aws iam create-role \
    --role-name ManagedOpenShift-Worker-Role \
    --assume-role-policy-document file://sts_instance_worker_trust_policy.json \
    --tags Key=rosa_openshift_version,Value=4.8 Key=rosa_role_prefix,Value=ManagedOpenShift Key=rosa_role_type,Value=instance_worker
    aws iam put-role-policy \
    --role-name ManagedOpenShift-Worker-Role \
    --policy-name ManagedOpenShift-Worker-Role-Policy \
    --policy-document file://sts_instance_worker_permission_policy.json

  2. 現在のディレクトリーの内容をチェックして、新しいファイルを確認します。これらの各オブジェクトを作成するには、aws CLI を使用します。

    出力例

    $ ls
    openshift_cloud_credential_operator_cloud_credential_operator_iam_ro_creds_policy.json
    sts_instance_controlplane_permission_policy.json
    openshift_cluster_csi_drivers_ebs_cloud_credentials_policy.json        sts_instance_controlplane_trust_policy.json
    openshift_image_registry_installer_cloud_credentials_policy.json          sts_instance_worker_permission_policy.json
    openshift_ingress_operator_cloud_credentials_policy.json                 sts_instance_worker_trust_policy.json
    openshift_machine_api_aws_cloud_credentials_policy.json                   sts_support_permission_policy.json
    sts_installer_permission_policy.json                                      sts_support_trust_policy.json
    sts_installer_trust_policy.json

  3. オプション: ファイルを開いて、作成する内容を確認します。たとえば、sts_installer_permission_policy.json を開くと、次のように表示されます。

    出力例

    $ cat sts_installer_permission_policy.json
            {
            "Version": "2012-10-17",
            "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "autoscaling:DescribeAutoScalingGroups",
                    "ec2:AllocateAddress",
                    "ec2:AssociateAddress",
                    "ec2:AssociateDhcpOptions",
                    "ec2:AssociateRouteTable",
                    "ec2:AttachInternetGateway",
                    "ec2:AttachNetworkInterface",
                    "ec2:AuthorizeSecurityGroupEgress",
                    "ec2:AuthorizeSecurityGroupIngress",
                    [...]

    ROSA クラスターの IAM リソースについて のドキュメントの内容も参照してください。

  4. ステップ 1 でリストされた aws コマンドを実行します。作成した JSON ファイルと同じディレクトリーにいる場合は、コピーして貼り付けることができます。
17.4.3.4.2. クラスターの作成
  1. aws コマンドが正常に実行されたら、次のコマンドを実行して対話モードで ROSA クラスターの作成を開始します。

    rosa create cluster --interactive --sts

    フィールドの説明については、ROSA のドキュメント を参照してください。

  2. このチュートリアルでは、次の値をコピーして入力します。

    Cluster name: my-rosa-cluster
    OpenShift version: <choose version>
    External ID (optional): <leave blank>
    Operator roles prefix: <accept default>
    Multiple availability zones: No
    AWS region: <choose region>
    PrivateLink cluster: No
    Install into an existing VPC: No
    Enable Customer Managed key: No
    Compute nodes instance type: m5.xlarge
    Enable autoscaling: No
    Compute nodes: 2
    Machine CIDR: <accept default>
    Service CIDR: <accept default>
    Pod CIDR: <accept default>
    Host prefix: <accept default>
    Encrypt etcd data (optional): No
    Disable Workload monitoring: No

    出力例

    I: Creating cluster 'my-rosa-cluster'
    I: To create this cluster again in the future, you can run:
    rosa create cluster --cluster-name my-rosa-cluster --role-arn arn:aws:iam::000000000000:role/ManagedOpenShift-Installer-Role --support-role-arn arn:aws:iam::000000000000:role/ManagedOpenShift-Support-Role --master-iam-role arn:aws:iam::000000000000:role/ManagedOpenShift-ControlPlane-Role --worker-iam-role arn:aws:iam::000000000000:role/ManagedOpenShift-Worker-Role --operator-roles-prefix my-rosa-cluster --region us-west-2 --version 4.8.13 --compute-nodes 2 --machine-cidr 10.0.0.0/16 --service-cidr 172.30.0.0/16 --pod-cidr 10.128.0.0/14 --host-prefix 23
    I: To view a list of clusters and their status, run 'rosa list clusters'
    I: Cluster 'my-rosa-cluster' has been created.
    I: Once the cluster is installed you will need to add an Identity Provider before you can login into the cluster. See 'rosa create idp --help' for more information.
    Name:                       my-rosa-cluster
    ID:                         1t6i760dbum4mqltqh6o000000000000
    External ID:
    OpenShift Version:
    Channel Group:              stable
    DNS:                        my-rosa-cluster.abcd.p1.openshiftapps.com
    AWS Account:                000000000000
    API URL:
    Console URL:
    Region:                     us-west-2
    Multi-AZ:                   false
    Nodes:
    - Control plane:           3
    - Infra:                   2
    - Compute:                 2
    Network:
    - Service CIDR:            172.30.0.0/16
    - Machine CIDR:            10.0.0.0/16
    - Pod CIDR:                10.128.0.0/14
    - Host Prefix:             /23
    STS Role ARN:               arn:aws:iam::000000000000:role/ManagedOpenShift-Installer-Role
    Support Role ARN:           arn:aws:iam::000000000000:role/ManagedOpenShift-Support-Role
    Instance IAM Roles:
    - Control plane:           arn:aws:iam::000000000000:role/ManagedOpenShift-ControlPlane-Role
    - Worker:                  arn:aws:iam::000000000000:role/ManagedOpenShift-Worker-Role
    Operator IAM Roles:
    - arn:aws:iam::000000000000:role/my-rosa-cluster-w7i6-openshift-ingress-operator-cloud-credentials
    - arn:aws:iam::000000000000:role/my-rosa-cluster-w7i6-openshift-cluster-csi-drivers-ebs-cloud-credentials
    - arn:aws:iam::000000000000:role/my-rosa-cluster-w7i6-openshift-cloud-network-config-controller-cloud-cre
    - arn:aws:iam::000000000000:role/my-rosa-cluster-openshift-machine-api-aws-cloud-credentials
    - arn:aws:iam::000000000000:role/my-rosa-cluster-openshift-cloud-credential-operator-cloud-credentia
    - arn:aws:iam::000000000000:role/my-rosa-cluster-openshift-image-registry-installer-cloud-credential
    State:                      waiting (Waiting for OIDC configuration)
    Private:                    No
    Created:                    Jul  1 2022 22:13:50 UTC
    Details Page:               https://console.redhat.com/openshift/details/s/2BMQm8xz8Hq5yEN000000000000
    OIDC Endpoint URL:          https://rh-oidc.s3.us-east-1.amazonaws.com/1t6i760dbum4mqltqh6o000000000000
    I: Run the following commands to continue the cluster creation:
    rosa create operator-roles --cluster my-rosa-cluster
    rosa create oidc-provider --cluster my-rosa-cluster
    I: To determine when your cluster is Ready, run 'rosa describe cluster -c my-rosa-cluster'.
    I: To watch your cluster installation logs, run 'rosa logs install -c my-rosa-cluster --watch'.

    注記

    次の 2 つのステップが完了するまで、クラスターの状態は “waiting” のままです。

17.4.3.4.3. Operator ロールの作成
  1. 上記のステップで、次に実行すべきコマンドが出力されます。これらのロールは、クラスター ごと1 回 作成する必要があります。ロールを作成するには、次のコマンドを実行します。

    rosa create operator-roles --mode manual --cluster <cluster-name>

    出力例

    I: Run the following commands to create the operator roles:
        aws iam create-role \
            --role-name my-rosa-cluster-openshift-image-registry-installer-cloud-credentials \
            --assume-role-policy-document file://operator_image_registry_installer_cloud_credentials_policy.json \
            --tags Key=rosa_cluster_id,Value=1mkesci269png3tck000000000000000 Key=rosa_openshift_version,Value=4.8 Key=rosa_role_prefix,Value= Key=operator_namespace,Value=openshift-image-registry Key=operator_name,Value=installer-cloud-credentials
    
        aws iam attach-role-policy \
            --role-name my-rosa-cluster-openshift-image-registry-installer-cloud-credentials \
            --policy-arn arn:aws:iam::000000000000:policy/ManagedOpenShift-openshift-image-registry-installer-cloud-creden
        [...]

  2. aws コマンドを実行します。
17.4.3.4.4. OIDC プロバイダーの作成
  1. 次のコマンドを実行して、OIDC プロバイダーを作成します。

    rosa create oidc-provider --mode manual --cluster <cluster-name>
  2. これにより、実行する必要がある aws コマンドが表示されます。

    出力例

    I: Run the following commands to create the OIDC provider:
    $ aws iam create-open-id-connect-provider \
    --url https://rh-oidc.s3.us-east-1.amazonaws.com/1mkesci269png3tckknhh0rfs2da5fj9 \
    --client-id-list openshift sts.amazonaws.com \
    --thumbprint-list a9d53002e97e00e043244f3d170d000000000000
    
    $ aws iam create-open-id-connect-provider \
    --url https://rh-oidc.s3.us-east-1.amazonaws.com/1mkesci269png3tckknhh0rfs2da5fj9 \
    --client-id-list openshift sts.amazonaws.com \
    --thumbprint-list a9d53002e97e00e043244f3d170d000000000000

  3. クラスターがインストールプロセスを続行します。
17.4.3.4.5. インストールステータスの確認
  1. 次のコマンドのいずれかを実行して、クラスターのステータスを確認します。

    • ステータスの詳細を表示するには、次を実行します。

      rosa describe cluster --cluster <cluster-name>
    • ステータスの要約を表示するには、次を実行します。

      rosa list clusters
  2. クラスターの状態が、“waiting”、“installing”、"ready" の順に変わります。これには約 40 分かかります。
  3. 状態が “ready” に変われば、クラスターのインストールは完了です。

17.4.3.5. Red Hat Hybrid Cloud Console URL の取得

  • Hybrid Cloud Console URL を取得するには、次のコマンドを実行します。

    rosa describe cluster -c <cluster-name> | grep Console

これで、クラスターが正常にデプロイされました。次のチュートリアルでは、クラスターをすぐに使用できるように、管理ユーザーを作成する方法を示します。

17.4.4. チュートリアル: UI 簡易ガイド

このページでは、ユーザーインターフェイス (UI) を使用して ROSA クラスターをデプロイするための最小限のコマンドを説明します。

注記

この単純なデプロイメントはチュートリアル環境では問題なく機能しますが、実稼働環境で使用するクラスターはより詳細な方法でデプロイする必要があります。

17.4.4.1. 前提条件

  • セットアップのチュートリアルの前提条件を完了している。

17.4.4.2. アカウントロールの作成

AWS アカウントおよび OpenShift の y-stream バージョンごとに次のコマンドを 1 回 実行します。

rosa create account-roles --mode auto --yes

17.4.4.3. Red Hat OpenShift Cluster Manager ロールの作成

  1. 次のコマンドを実行して、AWS アカウントごとに 1 つの OpenShift Cluster Manager ロールを作成します。

    rosa create ocm-role --mode auto --admin --yes
  2. 次のコマンドを実行して、AWS アカウントごとに 1 つの OpenShift Cluster Manager ユーザーロールを作成します。

    rosa create user-role --mode auto --yes
  3. OpenShift Cluster Manager を使用して AWS アカウント、クラスターオプションを選択し、デプロイメントを開始します。
  4. OpenShift Cluster Manager UI にクラスターのステータスが表示されます。

    cloud experts getting started deployment ui cluster create

17.4.5. チュートリアル: UI 詳細ガイド

このチュートリアルでは、Red Hat OpenShift Cluster Manager ユーザーインターフェイス (UI) を使用して Red Hat OpenShift Service on AWS (ROSA) クラスターをデプロイする詳細な手順を説明します。

17.4.5.1. デプロイメントワークフロー

全体的なデプロイメントワークフローは、次のステップに基づいています。

  1. アカウント全体のロールとポリシーを作成します。
  2. AWS アカウントを Red Hat アカウントに関連付けます。

    1. Red Hat OpenShift Cluster Manager ロールを作成してリンクします。
    2. ユーザーロールを作成してリンクします。
  3. クラスターを作成します。

ステップ 1 は、初めて AWS アカウントにデプロイする場合にのみ実行する必要があります。ステップ 2 は、UI を 初めて 使用する場合にのみ実行する必要があります。同じ y-stream バージョンのクラスターを連続して作成する場合は、クラスターを作成するだけで済みます。

17.4.5.2. アカウント全体のロールの作成

注記

以前のデプロイメントのアカウントロールをすでに持っている場合は、この手順をスキップしてください。関連付けられた AWS アカウントを選択すると、UI で既存のロールが検出されます。

このアカウントに ROSA を 初めて デプロイし、アカウントロールをまだ 作成していない 場合は、Operator ポリシーを含むアカウント全体のロールとポリシーを作成します。

  • ターミナルで次のコマンドを実行して、アカウント全体のロールを作成します。

    $ rosa create account-roles --mode auto --yes

    出力例

    I: Creating roles using 'arn:aws:iam::000000000000:user/rosa-user'
    I: Created role 'ManagedOpenShift-ControlPlane-Role' with ARN 'arn:aws:iam::000000000000:role/ManagedOpenShift-ControlPlane-Role'
    I: Created role 'ManagedOpenShift-Worker-Role' with ARN 'arn:aws:iam::000000000000:role/ManagedOpenShift-Worker-Role'
    I: Created role 'ManagedOpenShift-Support-Role' with ARN 'arn:aws:iam::000000000000:role/ManagedOpenShift-Support-Role'
    I: Created role 'ManagedOpenShift-Installer-Role' with ARN 'arn:aws:iam::000000000000:role/ManagedOpenShift-Installer-Role'
    I: Created policy with ARN 'arn:aws:iam::000000000000:policy/ManagedOpenShift-openshift-machine-api-aws-cloud-credentials'
    I: Created policy with ARN 'arn:aws:iam::000000000000:policy/ManagedOpenShift-openshift-cloud-credential-operator-cloud-crede'
    I: Created policy with ARN 'arn:aws:iam::000000000000:policy/ManagedOpenShift-openshift-image-registry-installer-cloud-creden'
    I: Created policy with ARN 'arn:aws:iam::000000000000:policy/ManagedOpenShift-openshift-ingress-operator-cloud-credentials'
    I: Created policy with ARN 'arn:aws:iam::000000000000:policy/ManagedOpenShift-openshift-cluster-csi-drivers-ebs-cloud-credent'
    I: To create a cluster with these roles, run the following command:
    rosa create cluster --sts

17.4.5.3. AWS アカウントと Red Hat アカウントの関連付け

このステップでは、ROSA をデプロイするときに使用する AWS アカウントを OpenShift Cluster Manager に伝えます。

注記

すでに AWS アカウントを関連付けている場合は、この手順をスキップしてください。

  1. OpenShift Cluster Manager にアクセスし、Red Hat アカウントにログインして、Red Hat Hybrid Cloud Console を開きます。
  2. Create Cluster をクリックします。
  3. Red Hat OpenShift Service on AWS (ROSA) 行まで下にスクロールし、Create Cluster をクリックします。

    cloud experts getting started rosa deployment detailed ui create
  4. ドロップダウンメニューが表示されます。With web interface をクリックします。

    cloud experts getting started rosa deployment detailed ui web interface
  5. "Select an AWS control plane type" の選択で、Classic を選択します。Next をクリックします。

    cloud experts getting started rosa deployment detailed ui classic
  6. Associated AWS infrastructure account の下にあるドロップボックスをクリックします。AWS アカウントをまだ関連付けていない場合、ドロップボックスは空の可能性があります。
  7. How to associate a new AWS account をクリックします。

    cloud experts getting started rosa deployment detailed ui associate
  8. 新しい AWS アカウントを関連付ける手順を示すサイドバーが表示されます。

    cloud experts getting started rosa deployment detailed ui associate2

17.4.5.4. OpenShift Cluster Manager ロールの作成と関連付け

  1. 次のコマンドを実行して、OpenShift Cluster Manager ロールが存在するかどうかを確認します。

    $ rosa list ocm-role
  2. UI に、権限のレベルが異なる 2 種類の OpenShift Cluster Manager ロールを作成するコマンドが表示されます。

    • Basic OpenShift Cluster Manager role: OpenShift Cluster Manager にアカウントへの読み取り専用アクセス権を付与し、クラスターを作成する前に ROSA に必要なロールとポリシーが存在するかどうかを確認できるようにします。CLI を使用して、必要なロール、ポリシー、および OIDC プロバイダーを手動で作成する必要があります。
    • Admin OpenShift Cluster Manager role: ROSA に必要なロール、ポリシー、および OIDC プロバイダーを作成する追加の権限を OpenShift Cluster Manager に付与します。これを使用すると、OpenShift Cluster Manager が必要なリソースを作成できるため、ROSA クラスターのデプロイがより迅速になります。

      これらのロールの詳細は、ドキュメントの OpenShift Cluster Manager のロールおよび権限 セクションを参照してください。

      このチュートリアルでは、最も簡単かつ迅速なアプローチである Admin OpenShift Cluster Manager role を使用します。

  3. サイドバーからコマンドをコピーして Admin OpenShift Cluster Manager role を作成するか、ターミナルに切り替えて次のコマンドを入力します。

    $ rosa create ocm-role --mode auto --admin --yes

    このコマンドは、OpenShift Cluster Manager ロールを作成し、それを Red Hat アカウントに関連付けます。

    出力例

    I: Creating ocm role
    I: Creating role using 'arn:aws:iam::000000000000:user/rosa-user'
    I: Created role 'ManagedOpenShift-OCM-Role-12561000' with ARN 'arn:aws:iam::000000000000:role/ManagedOpenShift-OCM-Role-12561000'
    I: Linking OCM role
    I: Successfully linked role-arn 'arn:aws:iam::000000000000:role/ManagedOpenShift-OCM-Role-12561000' with organization account '1MpZfntsZeUdjWHg7XRgP000000'

  4. Step 2: User role をクリックします。
17.4.5.4.1. その他の OpenShift Cluster Manager ロール作成オプション
  • 手動モード: AWS CLI コマンドを自分で実行する場合は、モードを auto ではなく manual と定義します。CLI に AWS コマンドが出力され、関連する JSON ファイルが現在のディレクトリーに作成されます。

    次のコマンドを使用して、手動モードで OpenShift Cluster Manager ロールを作成します。

    $ rosa create ocm-role --mode manual --admin --yes
  • Basic OpenShift Cluster Manager role: OpenShift Cluster Manager にアカウントへの読み取り専用アクセス権を付与する場合は、Basic OpenShift Cluster Manager role を作成します。この場合、CLI を使用して必要なロール、ポリシー、OIDC プロバイダーを手動で作成する必要があります。

    次のコマンドを使用して、Basic OpenShift Cluster Manager role を作成します。

    $ rosa create ocm-role --mode auto --yes

17.4.5.5. OpenShift Cluster Manager ユーザーロールの作成

ユーザーロールのドキュメント で定義されているように、ROSA が AWS ID を検証できるようにユーザーロールを作成する必要があります。このロールには権限を付与せず、インストールプログラムアカウントと OpenShift Cluster Manager ロールリソースの間に信頼関係を構築するためにのみ使用します。

  1. 次のコマンドを実行して、ユーザーロールがすでに存在するかどうかを確認します。

    $ rosa list user-role
  2. 次のコマンドを実行してユーザーロールを作成し、それを Red Hat アカウントにリンクします。

    $ rosa create user-role --mode auto --yes

    出力例

    I: Creating User role
    I: Creating ocm user role using 'arn:aws:iam::000000000000:user/rosa-user'
    I: Created role 'ManagedOpenShift-User-rosa-user-Role' with ARN 'arn:aws:iam::000000000000:role/ManagedOpenShift-User-rosa-user-Role'
    I: Linking User role
    I: Successfully linked role ARN 'arn:aws:iam::000000000000:role/ManagedOpenShift-User-rosa-user-Role' with account '1rbOQez0z5j1YolInhcXY000000'

    注記

    前述のように、AWS CLI コマンドを自分で実行する場合は、--mode manual を定義します。CLI に AWS コマンドが出力され、関連する JSON ファイルが現在のディレクトリーに作成されます。必ずロールをリンクしてください。

  3. Step 3: Account roles をクリックします。

17.4.5.6. アカウントロールの作成

  1. 次のコマンドを実行して、アカウントのロールを作成します。

    $ rosa create account-roles --mode auto
  2. OK をクリックしてサイドバーを閉じます。

17.4.5.7. アカウントの関連付けが成功したことの確認

  1. Associated AWS infrastructure account ドロップダウンメニューに AWS アカウントが表示されるはずです。自分のアカウントが表示されれば、アカウントの関連付けは成功しています。
  2. アカウントを選択します。
  3. アカウントのロール ARN が下に入力されて表示されます。

    cloud experts getting started rosa deployment detailed ui account roles
  4. Next をクリックします。

17.4.5.8. クラスターの作成

  1. このチュートリアルでは、以下を選択してください。

    クラスター設定

    • Cluster name: <名前を選択\>
    • Version: <最新バージョンを選択\>
    • Region: <リージョンを選択\>
    • Availability: Single zone
    • Enable user workload monitoring: オンのまま
    • Enable additional etcd encryption: オフのまま
    • Encrypt persistent volumes with customer keys: オフのまま
  2. Next をクリックします。
  3. マシンプールのデフォルト設定はオンのままにします。

    デフォルトのマシンプール設定

    • Compute node instance type: m5.xlarge - 4 vCPU 16 GiB RAM
    • Enable autoscaling: オフ
    • Compute node count: 2
    • ノードラベルは空白のままにする
  4. Next をクリックします。
17.4.5.8.1. ネットワーク
  1. 設定はすべてデフォルト値のままにします。
  2. Next をクリックします。
  3. CIDR 範囲のデフォルト値はすべてそのままにしておきます。
  4. Next をクリックします。
17.4.5.8.2. クラスターのロールおよびポリシー

このチュートリアルでは、Auto を選択したままにしておきます。これにより、クラスターのデプロイメントプロセスが容易かつ迅速になります。

注記

前に Basic OpenShift Cluster Manager role を選択した場合は、手動モードのみを使用できます。Operator ロールと OIDC プロバイダーを手動で作成する必要があります。「クラスターの更新」セクションを完了してクラスターの作成を開始したら、後述の「Basic OpenShift Cluster Manager role」セクションを参照してください。

17.4.5.8.3. クラスターの更新
  • このセクションでは、すべてのオプションをデフォルトのままにしておきます。
17.4.5.8.4. クラスターの確認と作成
  1. クラスター設定の内容を確認します。
  2. Create cluster をクリックします。
17.4.5.8.5. インストールの進行状況の監視
  • 現在のページに留まり、インストールの進行状況を監視します。所要時間は約 40 分です。

    cloud experts getting started rosa deployment detailed ui cluster create

17.4.5.9. Basic OpenShift Cluster Manager Role

注記

前述の手順に従って Admin OpenShift Cluster Manager role を作成した場合は、このセクション全体を 無視してください。OpenShift Cluster Manager によってリソースが作成されます。

前に Basic OpenShift Cluster Manager role を作成した場合は、クラスターのインストールを続行する前に、さらに 2 つの要素を手動で作成する必要があります。

  • Operator ロール
  • OIDC プロバイダー
17.4.5.9.1. Operator ロールの作成
  1. ポップアップウィンドウに、実行するコマンドが表示されます。

    cloud experts getting started rosa deployment detailed ui create cmds
  2. ターミナルのウィンドウからコマンドを実行して、対話モードを起動します。または、簡素化のために、次のコマンドを実行して Operator ロールを作成します。

    $ rosa create operator-roles --mode auto --cluster <cluster-name> --yes

    出力例

    I: Creating roles using 'arn:aws:iam::000000000000:user/rosauser'
    I: Created role 'rosacluster-b736-openshift-ingress-operator-cloud-credentials' with ARN 'arn:aws:iam::000000000000:role/rosacluster-b736-openshift-ingress-operator-cloud-credentials'
    I: Created role 'rosacluster-b736-openshift-cluster-csi-drivers-ebs-cloud-credent' with ARN 'arn:aws:iam::000000000000:role/rosacluster-b736-openshift-cluster-csi-drivers-ebs-cloud-credent'
    I: Created role 'rosacluster-b736-openshift-cloud-network-config-controller-cloud' with ARN 'arn:aws:iam::000000000000:role/rosacluster-b736-openshift-cloud-network-config-controller-cloud'
    I: Created role 'rosacluster-b736-openshift-machine-api-aws-cloud-credentials' with ARN 'arn:aws:iam::000000000000:role/rosacluster-b736-openshift-machine-api-aws-cloud-credentials'
    I: Created role 'rosacluster-b736-openshift-cloud-credential-operator-cloud-crede' with ARN 'arn:aws:iam::000000000000:role/rosacluster-b736-openshift-cloud-credential-operator-cloud-crede'
    I: Created role 'rosacluster-b736-openshift-image-registry-installer-cloud-creden' with ARN 'arn:aws:iam::000000000000:role/rosacluster-b736-openshift-image-registry-installer-cloud-creden'

17.4.5.9.2. OIDC プロバイダーの作成
  • ターミナルで次のコマンドを実行して OIDC プロバイダーを作成します。

    $ rosa create oidc-provider --mode auto --cluster <cluster-name> --yes

    出力例

    I: Creating OIDC provider using 'arn:aws:iam::000000000000:user/rosauser'
    I: Created OIDC provider with ARN 'arn:aws:iam::000000000000:oidc-provider/rh-oidc.s3.us-east-1.amazonaws.com/1tt4kvrr2kha2rgs8gjfvf0000000000'

17.4.6. チュートリアル: Hosted Control Plane (HCP) ガイド

このワークショップでは、Hosted Control Plane (HCP) クラスターを使用するサンプル Red Hat OpenShift Service on AWS (ROSA) をデプロイします。その後、次のチュートリアルでクラスターを使用できます。

チュートリアルの目的

  • クラスター作成の前提条件を学習します。

    • サンプル Virtual Private Cloud (VPC) の作成
    • サンプル OpenID Connect (OIDC) リソースの作成
  • サンプル環境変数を作成します。
  • サンプル ROSA クラスターをデプロイします。

前提条件

  • ROSA バージョン 1.2.31 以降
  • Amazon Web Services (AWS) コマンドラインインターフェイス (CLI)
  • ROSA CLI (rosa)

17.4.6.1. クラスター作成の前提条件

ROSA with HCP クラスターをデプロイするには、VPC リソースと OIDC リソースの両方が必要です。そのため、最初にこれらのリソースを作成します。ROSA は、独自の VPC (BYO-VPC) モデルを使用します。

17.4.6.1.1. VPC の作成
  1. AWS CLI (aws) が、ROSA が利用可能なリージョンを使用するように設定されていることを確認します。次のコマンドを実行して、AWS CLI でサポートされているリージョンを確認します。

    $ rosa list regions --hosted-cp
  2. VPC を作成します。このチュートリアルでは、次の スクリプト で VPC とその必須コンポーネントを作成します。aws CLI で設定されたリージョンを使用します。

    #!/bin/bash
    
    set -e
    ##########
    # This script will create the network requirements for a ROSA cluster. This will be
    # a public cluster. This creates:
    # - VPC
    # - Public and private subnets
    # - Internet Gateway
    # - Relevant route tables
    # - NAT Gateway
    #
    # This will automatically use the region configured for the aws cli
    #
    ##########
    
    VPC_CIDR=10.0.0.0/16
    PUBLIC_CIDR_SUBNET=10.0.1.0/24
    PRIVATE_CIDR_SUBNET=10.0.0.0/24
    
    # Create VPC
    echo -n "Creating VPC..."
    VPC_ID=$(aws ec2 create-vpc --cidr-block $VPC_CIDR --query Vpc.VpcId --output text)
    
    # Create tag name
    aws ec2 create-tags --resources $VPC_ID --tags Key=Name,Value=$CLUSTER_NAME
    
    # Enable dns hostname
    aws ec2 modify-vpc-attribute --vpc-id $VPC_ID --enable-dns-hostnames
    echo "done."
    
    # Create Public Subnet
    echo -n "Creating public subnet..."
    PUBLIC_SUBNET_ID=$(aws ec2 create-subnet --vpc-id $VPC_ID --cidr-block $PUBLIC_CIDR_SUBNET --query Subnet.SubnetId --output text)
    
    aws ec2 create-tags --resources $PUBLIC_SUBNET_ID --tags Key=Name,Value=$CLUSTER_NAME-public
    echo "done."
    
    # Create private subnet
    echo -n "Creating private subnet..."
    PRIVATE_SUBNET_ID=$(aws ec2 create-subnet --vpc-id $VPC_ID --cidr-block $PRIVATE_CIDR_SUBNET --query Subnet.SubnetId --output text)
    
    aws ec2 create-tags --resources $PRIVATE_SUBNET_ID --tags Key=Name,Value=$CLUSTER_NAME-private
    echo "done."
    
    # Create an internet gateway for outbound traffic and attach it to the VPC.
    echo -n "Creating internet gateway..."
    IGW_ID=$(aws ec2 create-internet-gateway --query InternetGateway.InternetGatewayId --output text)
    echo "done."
    
    aws ec2 create-tags --resources $IGW_ID --tags Key=Name,Value=$CLUSTER_NAME
    
    aws ec2 attach-internet-gateway --vpc-id $VPC_ID --internet-gateway-id $IGW_ID > /dev/null 2>&1
    echo "Attached IGW to VPC."
    
    # Create a route table for outbound traffic and associate it to the public subnet.
    echo -n "Creating route table for public subnet..."
    PUBLIC_ROUTE_TABLE_ID=$(aws ec2 create-route-table --vpc-id $VPC_ID --query RouteTable.RouteTableId --output text)
    
    aws ec2 create-tags --resources $PUBLIC_ROUTE_TABLE_ID --tags Key=Name,Value=$CLUSTER_NAME
    echo "done."
    
    aws ec2 create-route --route-table-id $PUBLIC_ROUTE_TABLE_ID --destination-cidr-block 0.0.0.0/0 --gateway-id $IGW_ID > /dev/null 2>&1
    echo "Created default public route."
    
    aws ec2 associate-route-table --subnet-id $PUBLIC_SUBNET_ID --route-table-id $PUBLIC_ROUTE_TABLE_ID > /dev/null 2>&1
    echo "Public route table associated"
    
    # Create a NAT gateway in the public subnet for outgoing traffic from the private network.
    echo -n "Creating NAT Gateway..."
    NAT_IP_ADDRESS=$(aws ec2 allocate-address --domain vpc --query AllocationId --output text)
    
    NAT_GATEWAY_ID=$(aws ec2 create-nat-gateway --subnet-id $PUBLIC_SUBNET_ID --allocation-id $NAT_IP_ADDRESS --query NatGateway.NatGatewayId --output text)
    
    aws ec2 create-tags --resources $NAT_IP_ADDRESS --resources $NAT_GATEWAY_ID --tags Key=Name,Value=$CLUSTER_NAME
    sleep 10
    echo "done."
    
    # Create a route table for the private subnet to the NAT gateway.
    echo -n "Creating a route table for the private subnet to the NAT gateway..."
    PRIVATE_ROUTE_TABLE_ID=$(aws ec2 create-route-table --vpc-id $VPC_ID --query RouteTable.RouteTableId --output text)
    
    aws ec2 create-tags --resources $PRIVATE_ROUTE_TABLE_ID $NAT_IP_ADDRESS --tags Key=Name,Value=$CLUSTER_NAME-private
    
    aws ec2 create-route --route-table-id $PRIVATE_ROUTE_TABLE_ID --destination-cidr-block 0.0.0.0/0 --gateway-id $NAT_GATEWAY_ID > /dev/null 2>&1
    
    aws ec2 associate-route-table --subnet-id $PRIVATE_SUBNET_ID --route-table-id $PRIVATE_ROUTE_TABLE_ID > /dev/null 2>&1
    
    echo "done."
    
    # echo "***********VARIABLE VALUES*********"
    # echo "VPC_ID="$VPC_ID
    # echo "PUBLIC_SUBNET_ID="$PUBLIC_SUBNET_ID
    # echo "PRIVATE_SUBNET_ID="$PRIVATE_SUBNET_ID
    # echo "PUBLIC_ROUTE_TABLE_ID="$PUBLIC_ROUTE_TABLE_ID
    # echo "PRIVATE_ROUTE_TABLE_ID="$PRIVATE_ROUTE_TABLE_ID
    # echo "NAT_GATEWAY_ID="$NAT_GATEWAY_ID
    # echo "IGW_ID="$IGW_ID
    # echo "NAT_IP_ADDRESS="$NAT_IP_ADDRESS
    
    echo "Setup complete."
    echo ""
    echo "To make the cluster create commands easier, please run the following commands to set the environment variables:"
    echo "export PUBLIC_SUBNET_ID=$PUBLIC_SUBNET_ID"
    echo "export PRIVATE_SUBNET_ID=$PRIVATE_SUBNET_ID"

    関連情報

  3. スクリプトはコマンドを出力します。後で使用するためにサブネット ID を保存するには、コマンドを環境変数として設定します。以下のコマンドをコピーして実行します。

    $ export PUBLIC_SUBNET_ID=$PUBLIC_SUBNET_ID
    $ export PRIVATE_SUBNET_ID=$PRIVATE_SUBNET_ID
  4. 次のコマンドを実行して、環境変数を確認します。

    $ echo "Public Subnet: $PUBLIC_SUBNET_ID"; echo "Private Subnet: $PRIVATE_SUBNET_ID"

    出力例

    Public Subnet: subnet-0faeeeb0000000000
    Private Subnet: subnet-011fe340000000000

17.4.6.1.2. OIDC 設定の作成

このチュートリアルでは、OIDC 設定を作成するときに自動モードを使用します。また、後で使用できるように、OIDC ID を環境変数として保存します。このコマンドは、ROSA CLI を使用して、クラスターの一意の OIDC 設定を作成します。

  • 次のコマンドを実行して、OIDC 設定を作成します。

    $ export OIDC_ID=$(rosa create oidc-config --mode auto --managed --yes -o json | jq -r '.id')

17.4.6.2. 追加の環境変数の作成

  • 環境変数を設定するには、次のコマンドを実行します。これらの変数を使用すると、ROSA クラスターを作成するコマンドの実行が容易になります。

    $ export CLUSTER_NAME=<cluster_name>
    $ export REGION=<VPC_region>
    ヒント

    VPC リージョンを確認するには、rosa whoami を実行します。

17.4.6.3. クラスターの作成

  1. オプション: Operator ポリシーや AWS IAM ロールとポリシーを含め、アカウント全体のロールとポリシーを作成するには次のコマンドを実行します。

    重要

    このアカウントで ROSA を 初めて デプロイし、アカウントのロールとポリシーをまだ 作成していない 場合にのみ、この手順を完了してください。

    $ rosa create account-roles --mode auto --yes
  2. 次のコマンドを実行してクラスターを作成します。

    $ rosa create cluster --cluster-name $CLUSTER_NAME \
    --subnet-ids ${PUBLIC_SUBNET_ID},${PRIVATE_SUBNET_ID} \
    --hosted-cp \
    --region $REGION \
    --oidc-config-id $OIDC_ID \
    --sts --mode auto --yes

約 10 分後にクラスターの準備が完了します。選択したリージョン内の 3 つの AWS アベイラビリティーゾーンにまたがるコントロールプレーンがクラスターに作成され、AWS アカウントに 2 つのワーカーノードが作成されます。

17.4.6.4. インストールステータスの確認

  1. 次のコマンドのいずれかを実行して、クラスターのステータスを確認します。

    • クラスターのステータスの詳細を表示するには、次のコマンドを実行します。

      $ rosa describe cluster --cluster $CLUSTER_NAME
    • クラスターのステータスの概要を表示するには、次のコマンドを実行します。

      $ rosa list clusters
    • ログの進行状況を監視するには、次を実行します。

      $ rosa logs install --cluster $CLUSTER_NAME --watch
  2. 状態が “ready” に変われば、クラスターのインストールは完了です。ワーカーノードがオンラインになるまでにさらに数分かかる場合があります。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.