クラスターをインストールする
Red Hat OpenShift Service on AWS (ROSA) クラスターのインストール、アクセス、および削除
概要
第1章 Red Hat OpenShift Service on AWS クイックスタートガイド リンクのコピーリンクがクリップボードにコピーされました!
このガイドに従って、ROSA コマンドラインインターフェイス (CLI) (rosa
) を使用して Red Hat OpenShift Service on AWS クラスターをすばやく作成し、ユーザーアクセスを許可し、最初のアプリケーションをデプロイし、ユーザーアクセスを取り消してクラスターを削除する方法を学習します。
デフォルトのクラスター仕様の概要
デフォルトのインストールオプションを使用して、Red Hat OpenShift Service on AWS クラスターをすばやく作成できます。
次の要約では、デフォルトのクラスター仕様を説明します。
コンポーネント | デフォルトの仕様 |
---|---|
アカウントおよびロール |
|
クラスター設定 |
|
コンピュートノードマシンプール |
|
ネットワーク設定 |
|
Classless Inter-Domain Routing (CIDR) の範囲 |
|
クラスターのロールおよびポリシー |
|
ストレージ |
|
クラスター更新ストラテジー |
|
1.1. 環境の設定 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターを作成する前に、次のタスクを完了して環境を設定する必要があります。
- AWS および Red Hat アカウントに対して Red Hat OpenShift Service on AWS の前提条件を確認します。
- 必要なコマンドラインインターフェイス (CLI) ツールをインストールして設定します。
- CLI ツールの設定を確認します。
このセクションの手順に従って、これらの設定要件を完了できます。
Red Hat OpenShift Service on AWS の前提条件の確認
この手順を使用して、AWS アカウントで Red Hat OpenShift Service on AWS を有効にします。
前提条件
- Red Hat アカウントを持っている。
AWS アカウントがある。
注記専用の AWS アカウントを使用して実稼働クラスターを実行することを検討してください。AWS Organizations を使用している場合は、組織内の AWS アカウントを使用するか、アカウントを新規作成 できます。
手順
- AWS 管理コンソール にログインします。
- ROSA service に移動します。
Get started をクリックします。
Verify ROSA prerequisites ページが開きます。
ROSA enablement の下で、緑色のチェックマークと
You previously enabled ROSA
が表示されていることを確認します。そうでない場合は、次の手順に従います。
-
I agree to share my contact information with Red Hat
の横にあるチェックボックスを選択します。 Enable ROSA をクリックします。
少し待つと、緑色のチェックマークと
You enabled ROSA
メッセージが表示されます。
-
Service Quotas の下に、緑色のチェックと
Your quotas meet the requirements for ROSA
が表示されていることを確認します。Your quotas don’t meet the minimum requirements
と表示される場合は、エラーメッセージに記載されているクォータの種類と最小値をメモしてください。ガイダンスは、割り当て増加のリクエスト に関する Amazon のドキュメントを参照してください。Amazon が割り当てリクエストを承認するまでに数時間かかる場合があります。-
ELB service-linked role の下で、緑色のチェックマークと
AWSServiceRoleForElasticLoadBalancing already exists
が表示されていることを確認します。 Continue to Red Hat をクリックします。
Get started with Red Hat OpenShift Service on AWS (ROSA) ページが新しいタブで開きます。このページのステップ 1 はすでに完了しており、ステップ 2 に進むことができます。
必要な CLI ツールのインストールと設定
クラスターをデプロイして操作するには、コマンドラインインターフェイス (CLI) ツールが複数必要です。
前提条件
- AWS アカウントがある。
- Red Hat アカウントを持っている。
手順
必要な各ツールのダウンロードページにアクセスするには、Red Hat および AWS アカウントにログインします。
- console.redhat.com で Red Hat アカウントにログインします。
- aws.amazon.com で AWS アカウントにログインします。
最新の AWS CLI (
aws
) をインストールして設定します。- ワークステーションに適した AWS コマンドラインインターフェイス のドキュメントに従って、AWS CLI をインストールします。
.aws/credentials
ファイルでaws_access_key_id
、aws_secret_access_key
、およびregion
を指定して AWS CLI を設定します。詳細は、AWS ドキュメントの AWS 設定の基本 を参照してください。注記オプションで
AWS_DEFAULT_REGION
環境変数を使用して、デフォルトの AWS リージョンを設定できます。AWS API をクエリーし、AWS CLI が適切にインストールおよび設定されているかどうかを確認します。
aws sts get-caller-identity --output text
$ aws sts get-caller-identity --output text
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
<aws_account_id> arn:aws:iam::<aws_account_id>:user/<username> <aws_user_id>
<aws_account_id> arn:aws:iam::<aws_account_id>:user/<username> <aws_user_id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
最新の ROSA CLI をインストールして設定します。
- Downloads に移動します。
ツールのリストから Red Hat OpenShift Service on AWS コマンドラインインターフェイス (
rosa
) を見つけて、ダウンロード をクリックします。rosa-linux.tar.gz
ファイルはデフォルトのダウンロード先にダウンロードされます。ダウンロードしたアーカイブから
rosa
バイナリーファイルをデプロイメントします。以下の例は、Linux tar アーカイブからバイナリーをデプロイメントします。tar xvf rosa-linux.tar.gz
$ tar xvf rosa-linux.tar.gz
Copy to Clipboard Copied! Toggle word wrap Toggle overflow rosa
バイナリーファイルを実行パス内のディレクトリーに移動します。以下の例では、/usr/local/bin
ディレクトリーがユーザーのパスに含まれます。sudo mv rosa /usr/local/bin/rosa
$ sudo mv rosa /usr/local/bin/rosa
Copy to Clipboard Copied! Toggle word wrap Toggle overflow rosa
バージョンを照会して、ROSA CLI が正しくインストールされていることを確認します。rosa version
$ rosa version
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
1.2.47 Your ROSA CLI is up to date.
1.2.47 Your ROSA CLI is up to date.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
オフラインアクセストークンを使用して ROSA CLI にログインします。
ログインコマンドを実行します。
rosa login
$ rosa login
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
To login to your Red Hat account, get an offline access token at https://console.redhat.com/openshift/token/rosa ? Copy the token and paste it here:
To login to your Red Hat account, get an offline access token at https://console.redhat.com/openshift/token/rosa ? Copy the token and paste it here:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - コマンド出力にリストされている URL に移動して、オフラインアクセストークンを表示します。
ログインするには、コマンドラインプロンプトでオフラインアクセストークンを入力します。
? Copy the token and paste it here: ******************* [full token length omitted]
? Copy the token and paste it here: ******************* [full token length omitted]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記今後は、
rosa login
コマンドを実行するときに--token="<offline_access_token>"
引数を使用してオフラインアクセストークンを指定できます。続行する前に、ログインしていることと認証情報が正しいことを確認してください。
rosa whoami
$ rosa whoami
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
最新の OpenShift CLI (
oc
) をインストールして設定します。ROSA CLI を使用して
oc
CLI をダウンロードします。次のコマンドは、CLI の最新バージョンを現在の作業ディレクトリーにダウンロードします。
rosa download openshift-client
$ rosa download openshift-client
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ダウンロードしたアーカイブから
oc
バイナリーファイルをデプロイメントします。以下の例は、Linux tar アーカイブからファイルをデプロイメントします。tar xvf openshift-client-linux.tar.gz
$ tar xvf openshift-client-linux.tar.gz
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc
バイナリーを実行パス内のディレクトリーに移動します。以下の例では、/usr/local/bin
ディレクトリーがユーザーのパスに含まれます。sudo mv oc /usr/local/bin/oc
$ sudo mv oc /usr/local/bin/oc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc
CLI が正しくインストールされていることを確認します。rosa verify openshift-client
$ rosa verify openshift-client
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
I: Verifying whether OpenShift command-line tool is available... I: Current OpenShift Client Version: 4.17.3
I: Verifying whether OpenShift command-line tool is available... I: Current OpenShift Client Version: 4.17.3
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
次のステップ
Red Hat Hybrid Cloud Console を使用して Red Hat OpenShift Service on AWS クラスターをデプロイする前に、AWS アカウントを Red Hat 組織に関連付け、Red Hat OpenShift Service on AWS に必要なアカウント全体の AWS IAM STS ロールとポリシーを作成する必要があります。
1.2. アカウント全体の STS ロールおよびポリシーの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Hybrid Cloud コンソールを使用して AWS Security Token Service (STS) を使用する Red Hat OpenShift Service on AWS クラスターを作成する前に、Operator ポリシーを含む、アカウント全体で必要な STS ロールとポリシーを作成します。
手順
ロールとポリシーが AWS アカウントに存在しない場合は、必要なアカウント全体の AWS IAM STS ロールとポリシーを作成します。
rosa create account-roles --hosted-cp
$ rosa create account-roles --hosted-cp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow プロンプトでデフォルト値を選択して、ロールとポリシーをすばやく作成します。
1.3. Red Hat OpenShift Service on AWS クラスター用の Virtual Private Cloud の作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターを作成するには、AWS Virtual Private Cloud (VPC) が必要です。次の方法を使用して VPC を作成できます。
- ROSA CLI を使用した VPC の作成
- Terraform テンプレートを使用して VPC を作成する
- AWS コンソールで VPC リソースを手動で作成する
Terraform の手順はテストとデモンストレーションを目的としています。独自のインストールでは、独自に使用するために VPC にいくつかの変更を加える必要があります。また、このリンクされた Terraform 設定を使用する場合は、クラスターをインストールする予定のリージョンと同じリージョンにあることを確認する必要があります。以下の例では、us-east-2
が使用されています。
ROSA CLI を使用した AWS VPC の作成
rosa create network
コマンドは、ROSA CLI のバージョン 1.2.48 以降で使用できます。このコマンドは、AWS CloudFormation を使用して、Red Hat OpenShift Service on AWS クラスターのインストールに必要な VPC と関連ネットワークコンポーネントを作成します。CloudFormation はネイティブの AWS インフラストラクチャーコードツールであり、AWS CLI と互換性があります。
テンプレートを指定しない場合、次のパラメーターを持つリソースを作成するデフォルトのテンプレートが CloudFormation によって使用されます。
VPC のパラメーター | 値 |
---|---|
アベイラビリティーゾーン | 1 |
リージョン |
|
VPC CIDR |
|
rosa create network
コマンドで使用する CloudFormation テンプレートを作成し、カスタマイズできます。デフォルトの VPC テンプレートの詳細は、このセクションの関連情報を参照してください。
前提条件
- AWS アカウントを設定した。
- Red Hat アカウントを設定した。
- ROSA CLI をインストールし、最新バージョンに設定した。
手順
次のコマンドを実行して、デフォルトの CloudFormations テンプレートを使用して AWS VPC を作成します。
rosa create network
$ rosa create network
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: 追加のパラメーターを指定して VPC をカスタマイズします。
--param
フラグを使用すると、デフォルトの VPC テンプレートへの変更を指定できます。次のコマンド例では、region
、Name
、AvailabilityZoneCount
、およびVpcCidr
のカスタム値を指定します。rosa create network --param Region=us-east-2 --param Name=quickstart-stack --param AvailabilityZoneCount=3 --param VpcCidr=10.0.0.0/16
$ rosa create network --param Region=us-east-2 --param Name=quickstart-stack --param AvailabilityZoneCount=3 --param VpcCidr=10.0.0.0/16
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドの実行には約 5 分かかります。リソースが作成されるたびに、AWS から定期的にステータスの更新が提供されます。CloudFormation に問題がある場合は、ロールバックが試行されます。それ以外のエラーが発生した場合は、エラーメッセージの指示に従うか、AWS サポートにお問い合わせください。
検証
完了すると、作成されたリソースの概要が表示されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Terraform を使用した Virtual Private Cloud の作成
Terraform は、確立されたテンプレートを使用してさまざまなリソースを作成できるツールです。次のプロセスでは、必要に応じてデフォルトのオプションを使用して Red Hat OpenShift Service on AWS クラスターを作成します。Terraform の使用の詳細は、関連情報を参照してください。
前提条件
- マシンに Terraform バージョン 1.4.0 以降がインストールされている。
- マシンに Git がインストールされている。
手順
シェルプロンプトを開き、次のコマンドを実行して Terraform VPC リポジトリーのクローンを作成します。
git clone https://github.com/openshift-cs/terraform-vpc-example
$ git clone https://github.com/openshift-cs/terraform-vpc-example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、作成したディレクトリーに移動します。
cd terraform-vpc-example
$ cd terraform-vpc-example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Terraform ファイルを開始します。
terraform init
$ terraform init
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このプロセスが完了すると、初期化を確認するメッセージが表示されます。
既存の Terraform テンプレートに基づいて VPC Terraform プランを構築するには、
plan
コマンドを実行します。AWS リージョンを含める必要があります。クラスター名を指定することもできます。terraform plan
が完了すると、rosa.tfplan
ファイルがhypershift-tf
ディレクトリーに追加されます。オプションの詳細は、Terraform VPC リポジトリーの README ファイル を参照してください。terraform plan -out rosa.tfplan -var region=<region>
$ terraform plan -out rosa.tfplan -var region=<region>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、このプランファイルを適用して VPC を構築します。
terraform apply rosa.tfplan
$ terraform apply rosa.tfplan
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: 次のコマンドを実行すると、Terraform でプロビジョニングされたプライベート、パブリック、およびマシンプールのサブネット ID の値を、Red Hat OpenShift Service on AWS クラスターの作成時に使用する環境変数としてキャプチャーできます。
export SUBNET_IDS=$(terraform output -raw cluster-subnets-string)
$ export SUBNET_IDS=$(terraform output -raw cluster-subnets-string)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを使用して、変数が正しく設定されたことを確認できます。
echo $SUBNET_IDS
$ echo $SUBNET_IDS
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
subnet-0a6a57e0f784171aa,subnet-078e84e5b10ecf5b0
$ subnet-0a6a57e0f784171aa,subnet-078e84e5b10ecf5b0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
AWS Virtual Private Cloud の手動作成
Terraform を使用する代わりに、AWS Virtual Private Cloud (VPC) を手動で作成することを選択した場合は、AWS コンソールの VPC ページ に移動します。
VPC は、次の表に示す要件を満たしている必要があります。
要件 | 詳細 |
---|---|
VPC 名 | クラスターを作成するときは、特定の VPC 名と ID が必要です。 |
CIDR 範囲 | VPC CIDR 範囲はマシンの CIDR と一致する必要があります。 |
アベイラビリティーゾーン | 単一ゾーンの場合は 1 つの可用性ゾーンが必要で、複数ゾーンの場合は 3 つの可用性ゾーンが必要です。 |
パブリックサブネット | パブリッククラスターには、NAT ゲートウェイを備えたパブリックサブネットが 1 つ必要です。プライベートクラスターにはパブリックサブネットは必要ありません。 |
DNS ホスト名と解決 | DNS ホスト名と解決が有効になっていることを確認する必要があります。 |
1.4. OpenID Connect 設定の作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターを作成するときに、クラスターを作成する前に OpenID Connect (OIDC) 設定を作成できます。この設定は、OpenShift Cluster Manager で使用するために登録されています。
前提条件
- Red Hat OpenShift Service on AWS の AWS 前提条件を完了している。
-
インストールホストに最新の ROSA CLI
rosa
をインストールして設定した。
手順
AWS リソースと一緒に OIDC 設定を作成するには、次のコマンドを実行します。
rosa create oidc-config --mode=auto --yes
$ rosa create oidc-config --mode=auto --yes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは次の情報を返します。
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターを作成するときは、OIDC 設定 ID を指定する必要があります。CLI 出力では、
--mode auto
のこの値が提供されます。それ以外の場合は、--mode manual
のaws
CLI 出力に基づいてこれらの値を決定する必要があります。オプション: OIDC 設定 ID を変数として保存して、後で使用できます。次のコマンドを実行して変数を保存します。
export OIDC_ID=<oidc_config_id>
$ export OIDC_ID=<oidc_config_id>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 上記の出力例では、OIDC 設定 ID は 13cdr6b です。
次のコマンドを実行して、変数の値を表示します。
echo $OIDC_ID
$ echo $OIDC_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
13cdr6b
13cdr6b
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
ユーザー組織に関連付けられているクラスターで使用できる可能な OIDC 設定をリストできます。以下のコマンドを実行します。
rosa list oidc-config
$ rosa list oidc-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
ID MANAGED ISSUER URL SECRET ARN 2330dbs0n8m3chkkr25gkkcd8pnj3lk2 true https://dvbwgdztaeq9o.cloudfront.net/2330dbs0n8m3chkkr25gkkcd8pnj3lk2 233hvnrjoqu14jltk6lhbhf2tj11f8un false https://oidc-r7u1.s3.us-east-1.amazonaws.com aws:secretsmanager:us-east-1:242819244:secret:rosa-private-key-oidc-r7u1-tM3MDN
ID MANAGED ISSUER URL SECRET ARN 2330dbs0n8m3chkkr25gkkcd8pnj3lk2 true https://dvbwgdztaeq9o.cloudfront.net/2330dbs0n8m3chkkr25gkkcd8pnj3lk2 233hvnrjoqu14jltk6lhbhf2tj11f8un false https://oidc-r7u1.s3.us-east-1.amazonaws.com aws:secretsmanager:us-east-1:242819244:secret:rosa-private-key-oidc-r7u1-tM3MDN
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.5. Operator のロールとポリシーの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターをデプロイするときは、Operator IAM ロールを作成する必要があります。クラスター Operator は、Operator のロールとポリシーを使用して、バックエンドストレージの管理やクラスターへの外部アクセスなどのクラスター操作を実行するために必要な一時的な権限を取得します。
前提条件
- Red Hat OpenShift Service on AWS の AWS 前提条件を完了している。
-
インストールホストに最新の ROSA CLI (
rosa
) をインストールして設定した。 - アカウント全体の AWS ロールを作成した。
手順
Operator ロールを作成するには、次のコマンドを実行します。
rosa create operator-roles --hosted-cp --prefix=$OPERATOR_ROLES_PREFIX --oidc-config-id=$OIDC_ID --installer-role-arn arn:aws:iam::$AWS_ACCOUNT_ID:role/${ACCOUNT_ROLES_PREFIX}-HCP-ROSA-Installer-Role
$ rosa create operator-roles --hosted-cp --prefix=$OPERATOR_ROLES_PREFIX --oidc-config-id=$OIDC_ID --installer-role-arn arn:aws:iam::$AWS_ACCOUNT_ID:role/${ACCOUNT_ROLES_PREFIX}-HCP-ROSA-Installer-Role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次の内訳は、Operator ロール作成のオプションを示しています。
rosa create operator-roles --hosted-cp
$ rosa create operator-roles --hosted-cp --prefix=$OPERATOR_ROLES_PREFIX
1 --oidc-config-id=$OIDC_ID
2 --installer-role-arn arn:aws:iam::$AWS_ACCOUNT_ID:role/$ACCOUNT_ROLES_PREFIX-HCP-ROSA-Installer-Role
3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat OpenShift Service on AWS クラスターに正しいロールを作成するには、
--hosted-cp
パラメーターを含める必要があります。このコマンドは次の情報を返します。出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Operator ロールが作成され、Red Hat OpenShift Service on AWS クラスターの作成に使用する準備が整いました。
検証
Red Hat OpenShift Service on AWS に関連付けられている Operator ロールをリスト表示できます。以下のコマンドを実行します。
rosa list operator-roles
$ rosa list operator-roles
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- コマンドを実行すると、AWS アカウントに関連付けられているすべての接頭辞が表示され、この接頭辞に関連付けられているロールの数が記録されます。これらのロールとその詳細をすべて表示する必要がある場合は、詳細プロンプトで "Yes" と入力すると、これらのロールが詳細とともにリストされます。
1.6. CLI を使用して Red Hat OpenShift Service on AWS クラスターを作成する リンクのコピーリンクがクリップボードにコピーされました!
ROSA CLI (rosa
) を使用してクラスターを作成する場合、デフォルトのオプションを選択してクラスターをすばやく作成できます。
前提条件
- Red Hat OpenShift Service on AWS の AWS 前提条件を完了している。
- 利用可能な AWS サービスクォータがある。
- AWS コンソールで Red Hat OpenShift Service on AWS を有効にしました。
-
インストールホストに最新の ROSA CLI (
rosa
) をインストールして設定した。現在インストールされている ROSA CLI のバージョンを確認するには、rosa version
を実行します。新しいバージョンが利用可能な場合、CLI はこのアップグレードをダウンロードするためのリンクを提供します。 - ROSA CLI を使用して Red Hat アカウントにログインしている。
- OIDC 設定を作成した。
- AWS Elastic Load Balancing (ELB) サービスロールが AWS アカウントに存在することを確認した。
手順
Red Hat OpenShift Service on AWS クラスターを作成するには、次のいずれかのコマンドを使用します。
注記Red Hat OpenShift Service on AWS クラスターを作成する場合、デフォルトのマシン Classless Inter-Domain Routing (CIDR) は
10.0.0.0/16
です。これが VPC サブネットの CIDR 範囲に対応していない場合は、次のコマンドに--machine-cidr <address_block>
を追加します。Red Hat OpenShift Service on AWS のデフォルト CIDR 範囲の詳細は、「CIDR 範囲の定義」を参照してください。環境変数を設定していない場合は、以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- クラスターの名前を指定します。クラスター名が 15 文字を超える場合、openshiftapps.com でプロビジョニングされたクラスターのサブドメインとして自動生成されたドメイン接頭辞が含まれます。サブドメインをカスタマイズするには、
--domain-prefix
フラグを使用します。ドメイン接頭辞は 15 文字を超えてはならず、一意である必要があり、クラスターの作成後に変更できません。 - 2
- オプション:
--private
引数はプライベート Red Hat OpenShift Service on AWS クラスターを作成するために使用されます。この引数を使用する場合は、--subnet-ids
にプライベートサブネット ID のみを使用するようにしてください。 - 3
- デフォルトでは、クラスター固有の Operator のロール名には、クラスター名とランダムな 4 桁のハッシュが接頭辞として付けられます。オプションで、ロール名の
<cluster_name>-<hash>
を置き換えるカスタム接頭辞を指定できます。接頭辞は、クラスター固有の Operator IAM ロールを作成するときに適用されます。接頭辞の詳細は、カスタム Operator IAM ロール接頭辞について を参照してください。注記関連するアカウント全体のロールを作成したときにカスタム ARN パスを指定した場合、カスタムパスは自動的に検出されます。カスタムパスは、後のステップで作成するときに、クラスター固有の Operator ロールに適用されます。
- 4
- オプション: 別のアカウントでロールを引き受けるときに必要になる可能性のある一意の識別子。
環境変数を設定する場合、単一の初期マシンプールを備え、パブリックまたはプライベートに利用可能な API および Ingress を使用するクラスターを作成するには、次のコマンドを実行します。
rosa create cluster --private --cluster-name=<cluster_name> \ --mode=auto --hosted-cp --operator-roles-prefix=$OPERATOR_ROLES_PREFIX \ --oidc-config-id=$OIDC_ID --subnet-ids=$SUBNET_IDS
$ rosa create cluster --private --cluster-name=<cluster_name> \ --mode=auto --hosted-cp --operator-roles-prefix=$OPERATOR_ROLES_PREFIX \ --oidc-config-id=$OIDC_ID --subnet-ids=$SUBNET_IDS
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 環境変数を設定する場合、単一の初期マシンプール、パブリックに利用可能な API、およびパブリックに利用可能な Ingress を備えたクラスターを作成するには、次のコマンドを実行します。
rosa create cluster --cluster-name=<cluster_name> --mode=auto \ --hosted-cp --operator-roles-prefix=$OPERATOR_ROLES_PREFIX \ --oidc-config-id=$OIDC_ID --subnet-ids=$SUBNET_IDS
$ rosa create cluster --cluster-name=<cluster_name> --mode=auto \ --hosted-cp --operator-roles-prefix=$OPERATOR_ROLES_PREFIX \ --oidc-config-id=$OIDC_ID --subnet-ids=$SUBNET_IDS
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
次のコマンドを実行して、クラスターのステータスを確認します。
rosa describe cluster --cluster=<cluster_name>
$ rosa describe cluster --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の
State
フィールドの変更は、クラスターインストールの進捗として出力に表示されます。-
pending (Preparing account)
-
installing (DNS setup in progress)
-
installing
ready
注記インストールが失敗した場合や、
State
フィールドが 10 分以上ready
に変わらない場合は、インストールのトラブルシューティングのドキュメントで詳細を確認してください。詳細は、インストールのトラブルシューティング を参照してください。Red Hat サポートにサポートを依頼する手順は、Red Hat OpenShift Service on AWS のサポートの利用 を参照してください。
-
Red Hat OpenShift Service on AWS インストールプログラムのログを監視して、クラスター作成の進行状況を追跡します。ログを確認するには、次のコマンドを実行します。
rosa logs install --cluster=<cluster_name> --watch \
$ rosa logs install --cluster=<cluster_name> --watch \
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- オプション: インストールの進行中に新しいログメッセージを監視するには、
--watch
引数を使用します。
1.7. クラスターへのユーザーアクセスの付与 リンクのコピーリンクがクリップボードにコピーされました!
設定されたアイデンティティープロバイダーにユーザーを追加することで、Red Hat OpenShift Service on AWS クラスターへのアクセス権をユーザーに付与できます。
Red Hat OpenShift Service on AWS クラスターにさまざまなタイプのアイデンティティープロバイダーを設定できます。以下の手順例では、クラスターへのアイデンティティープロビジョニング用に設定された GitHub 組織に、ユーザーを追加します。
手順
- github.com に移動し、GitHub アカウントにログインします。
- Red Hat OpenShift Service on AWS クラスターへのアクセスを必要とするユーザーを GitHub 組織に招待します。GitHub ドキュメントの 組織に参加するようにユーザーを招待する の手順を実行してください。
1.8. ユーザーへの管理者権限の付与 リンクのコピーリンクがクリップボードにコピーされました!
設定されたアイデンティティープロバイダーにユーザーを追加したら、Red Hat OpenShift Service on AWS クラスターに対してユーザーに cluster-admin
または dedicated-admin
特権権限を付与できます。
手順
アイデンティティープロバイダーユーザーの
cluster-admin
権限を設定するには、以下を実行します。ユーザーに
cluster-admin
権限を付与します。rosa grant user cluster-admin --user=<idp_user_name> --cluster=<cluster_name>
$ rosa grant user cluster-admin --user=<idp_user_name> --cluster=<cluster_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<idp_user_name>
および<cluster_name>
は、アイデンティティープロバイダーのユーザーおよびクラスター名に置き換えます。
出力例
I: Granted role 'cluster-admins' to user '<idp_user_name>' on cluster '<cluster_name>'
I: Granted role 'cluster-admins' to user '<idp_user_name>' on cluster '<cluster_name>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザーが
cluster-admins
グループのメンバーとしてリスト表示されているかどうかを確認します。rosa list users --cluster=<cluster_name>
$ rosa list users --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
ID GROUPS <idp_user_name> cluster-admins
ID GROUPS <idp_user_name> cluster-admins
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
アイデンティティープロバイダーユーザーに
dedicated-admin
権限を設定するには、以下を実行します。ユーザーに
dedicated-admin
権限を付与します。rosa grant user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
$ rosa grant user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
I: Granted role 'dedicated-admins' to user '<idp_user_name>' on cluster '<cluster_name>'
I: Granted role 'dedicated-admins' to user '<idp_user_name>' on cluster '<cluster_name>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザーが
dedicated-admins
グループのメンバーとしてリスト表示されているかどうかを確認します。rosa list users --cluster=<cluster_name>
$ rosa list users --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
ID GROUPS <idp_user_name> dedicated-admins
ID GROUPS <idp_user_name> dedicated-admins
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.9. Web コンソールを使用したクラスターへのアクセス リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者ユーザーを作成するか、設定されたアイデンティティープロバイダーにユーザーを追加したら、Web コンソールから Red Hat OpenShift Service on AWS クラスターにログインできます。
手順
クラスターのコンソール URL を取得します。
rosa describe cluster -c <cluster_name> | grep Console
$ rosa describe cluster -c <cluster_name> | grep Console
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<cluster_name>
は、クラスター名に置き換えます。
出力例
Console URL: https://console-openshift-console.apps.example-cluster.wxyz.p1.openshiftapps.com
Console URL: https://console-openshift-console.apps.example-cluster.wxyz.p1.openshiftapps.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 前述の手順の出力にあるコンソール URL に移動し、ログインします。
-
cluster-admin
ユーザーを作成した場合は、指定した認証情報を使用してログインします。 - クラスターにアイデンティティープロバイダーを設定している場合は、Log in with… ダイアログでアイデンティティープロバイダー名を選択し、プロバイダーによって提示される認可要求を完了します。
-
1.10. Developer Catalog からのアプリケーションのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS Web コンソールの Developer Catalog からテストアプリケーションをデプロイし、ルートで公開できます。
前提条件
- Red Hat Hybrid Cloud Console にログインしている。
- Red Hat OpenShift Service on AWS クラスターを作成している。
- クラスターにアイデンティティープロバイダーを設定している。
- 設定したアイデンティティープロバイダーにユーザーアカウントを追加している。
手順
- OpenShift Cluster Manager の Cluster List ページに移動します。
- 表示するクラスターの横にあるオプションアイコン (⋮) をクリックします。
- Open console をクリックします。
- クラスターコンソールが新しいブラウザーウィンドウで開きます。設定済みのアイデンティティープロバイダーの認証情報を使用して Red Hat アカウントにログインします。
- Administrator パースペクティブで、Home → Projects → Create Project の順に選択します。
- プロジェクトの名前を入力し、必要に応じて Display Name および Description を追加します。
- Create をクリックしてプロジェクトを作成します。
- Developer パースペクティブに切り替え、+Add を選択します。選択した Project が、作成したプロジェクトであることを確認します。
- Developer Catalog ダイアログで、All services を選択します。
- Developer Catalog ページで、メニューから Languages → JavaScript を選択します。
Node.js をクリックし、次に Create をクリックして、Create Source-to-Image application ページを開きます。
注記場合によっては、Clear All Filters をクリックして Node.js オプションを表示する必要があります。
- Git セクションで Try sample をクリックします。
- Name フィールドに一意の名前を追加します。この値を使用して、関連付けられたリソースに名前を付けます。
- Deployment と Create a route が選択されていることを確認します。
- Create をクリックしてアプリケーションをデプロイします。Pod のデプロイには数分かかります。
-
オプション: Node.js アプリケーションを選択してそのサイドバーを確認し、Topology ペインで Pod のステータスを確認します。
nodejs
ビルドが完了し、nodejs
Pod が Running 状態になるまで待機してから続行します。 デプロイメントが完了したら、以下のような形式のアプリケーションのルート URL をクリックします。
https://nodejs-<project>.<cluster_name>.<hash>.<region>.openshiftapps.com/
https://nodejs-<project>.<cluster_name>.<hash>.<region>.openshiftapps.com/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ブラウザーの新しいタブが開き、以下のようなメッセージが表示されます。
Welcome to your Node.js application on OpenShift
Welcome to your Node.js application on OpenShift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: アプリケーションを削除し、作成したリソースをクリーンアップします。
- Administrator パースペクティブで、Home → Projects に移動します。
- プロジェクトのアクションメニューをクリックし、Delete Project を選択します。
1.11. 管理者権限とユーザーアクセスの取り消し リンクのコピーリンクがクリップボードにコピーされました!
ROSA CLI rosa
を使用して、ユーザーから cluster-admin
権限または dedicated-admin
特権を取り消すことができます。
ユーザーからのクラスターアクセスを取り消すには、設定したアイデンティティープロバイダーからユーザーを削除する必要があります。
このセクションの手順に従って、ユーザーからの管理者権限またはクラスターアクセスを取り消すことができます。
ユーザーからの管理者権限の削除
このセクションの手順に従って、ユーザーから cluster-admin
権限または dedicated-admin
権限を取り消すことができます。
手順
アイデンティティープロバイダーユーザーから
cluster-admin
権限を取り消すには、以下を実行します。cluster-admin
権限を取り消します。rosa revoke user cluster-admin --user=<idp_user_name> --cluster=<cluster_name>
$ rosa revoke user cluster-admin --user=<idp_user_name> --cluster=<cluster_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<idp_user_name>
および<cluster_name>
は、アイデンティティープロバイダーのユーザーおよびクラスター名に置き換えます。
出力例
? Are you sure you want to revoke role cluster-admins from user <idp_user_name> in cluster <cluster_name>? Yes I: Revoked role 'cluster-admins' from user '<idp_user_name>' on cluster '<cluster_name>'
? Are you sure you want to revoke role cluster-admins from user <idp_user_name> in cluster <cluster_name>? Yes I: Revoked role 'cluster-admins' from user '<idp_user_name>' on cluster '<cluster_name>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザーが
cluster-admins
グループのメンバーとしてリスト表示されていないことを確認します。rosa list users --cluster=<cluster_name>
$ rosa list users --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
W: There are no users configured for cluster '<cluster_name>'
W: There are no users configured for cluster '<cluster_name>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
アイデンティティープロバイダーユーザーから
dedicated-admin
権限を取り消すには、以下を実行します。dedicated-admin
特権を取り消します。rosa revoke user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
$ rosa revoke user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
? Are you sure you want to revoke role dedicated-admins from user <idp_user_name> in cluster <cluster_name>? Yes I: Revoked role 'dedicated-admins' from user '<idp_user_name>' on cluster '<cluster_name>'
? Are you sure you want to revoke role dedicated-admins from user <idp_user_name> in cluster <cluster_name>? Yes I: Revoked role 'dedicated-admins' from user '<idp_user_name>' on cluster '<cluster_name>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザーが
dedicated-admins
グループのメンバーとしてリスト表示されていないことを確認します。rosa list users --cluster=<cluster_name>
$ rosa list users --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
W: There are no users configured for cluster '<cluster_name>'
W: There are no users configured for cluster '<cluster_name>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
クラスターへのユーザーアクセスの取り消し
アイデンティティープロバイダーを設定済みのアイデンティティープロバイダーから削除して、アイデンティティープロバイダーからクラスターへのアクセス権限を取り除くことができます。
Red Hat OpenShift Service on AWS クラスターにさまざまなタイプのアイデンティティープロバイダーを設定できます。以下の手順例では、クラスターへのアイデンティティープロビジョニング用に設定された GitHub 組織のメンバーのクラスターへのアクセス権を取り消すことができます。
手順
- github.com に移動し、GitHub アカウントにログインします。
- GitHub 組織からユーザーを削除します。GitHub ドキュメントの 組織からのメンバーの削除 の手順に従います。
1.12. Red Hat OpenShift Service on AWS クラスターと AWS IAM STS リソースの削除 リンクのコピーリンクがクリップボードにコピーされました!
ROSA CLI rosa
を使用して Red Hat OpenShift Service on AWS クラスターを削除できます。また、ROSA CLI を使用して、AWS Identity and Access Management (IAM) アカウントワイドロール、クラスター固有の Operator ロール、および OpenID Connect (OIDC) プロバイダーを削除することもできます。アカウント全体のポリシーと Operator ポリシーを削除するには、AWS IAM コンソールまたは AWS CLI を使用できます。
アカウント全体の IAM ロールとポリシーは、同じ AWS アカウント内の他の Red Hat OpenShift Service on AWS クラスターで使用される場合があります。他のクラスターで必要とされていない場合に限り、リソースを削除する必要があります。
手順
クラスターを削除し、ログを監視します。
<cluster_name>
はクラスターの名前または ID に置き換えます。rosa delete cluster --cluster=<cluster_name> --watch
$ rosa delete cluster --cluster=<cluster_name> --watch
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要IAM ロール、ポリシー、および OIDC プロバイダーを削除する前に、クラスターの削除が完了するのを待つ必要があります。インストーラーで作成されたリソースを削除するために、アカウント全体のロールが必要です。クラスター固有の Operator ロールは、OpenShift Operator によって作成されるリソースをクリーンアップするために必要です。Operator は OIDC プロバイダーを使用して AWS API で認証します。
クラスターが削除されたら、クラスター Operator が認証に使用する OIDC プロバイダーを削除します。
rosa delete oidc-provider -c <cluster_id> --mode auto
$ rosa delete oidc-provider -c <cluster_id> --mode auto
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<cluster_id>
をクラスターの ID に置き換えてください。
注記-y
オプションを使用すると、プロンプトに対して自動的にはいと答えることができます。クラスター固有の Operator IAM ロールを削除します。
rosa delete operator-roles -c <cluster_id> --mode auto
$ rosa delete operator-roles -c <cluster_id> --mode auto
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<cluster_id>
をクラスターの ID に置き換えてください。
アカウント全体のロールを削除します。
重要アカウント全体の IAM ロールとポリシーは、同じ AWS アカウント内の他の Red Hat OpenShift Service on AWS クラスターで使用される場合があります。他のクラスターで必要とされていない場合に限り、リソースを削除する必要があります。
rosa delete account-roles --prefix <prefix> --mode auto
$ rosa delete account-roles --prefix <prefix> --mode auto
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- その際、
--<prefix>
引数を含める必要があります。<prefix>
を削除するアカウント全体のロールの接頭辞に置き換えてください。アカウント全体のロールを作成するときにカスタム接頭辞を指定しなかった場合は、作成方法に応じて、デフォルトの接頭辞 (HCP-ROSA
またはManagedOpenShift)
を指定します。
Red Hat OpenShift Service on AWS 用に作成したアカウント全体のポリシーと Operator IAM ポリシーを削除します。
- AWS IAM コンソール にログインします。
- Access management → Policies に移動し、アカウント全体のポリシーのいずれかを選択します。
- ポリシーを選択した状態で、Actions → Delete をクリックし、削除ポリシーダイアログを開きます。
- ポリシー名を入力して削除の確認を行い、Delete を選択してポリシーを削除します。
- このステップを繰り返して、クラスターのアカウント全体のポリシーと Operator ポリシーをそれぞれ削除します。
第2章 デフォルトオプションを使用して Red Hat OpenShift Service on AWS クラスターを作成する リンクのコピーリンクがクリップボードにコピーされました!
Hosted Control Plane を使用する Red Hat OpenShift Service on AWS は、AWS クラスター上に Red Hat OpenShift Service を作成するための、より効率的で信頼性の高いアーキテクチャーを提供します。Hosted Control Plane では、各クラスターに AWS アカウント内で分離された専用のコントロールプレーンが存在します。
デフォルトのオプションと自動 AWS Identity and Access Management (IAM) リソース作成を使用して、Red Hat OpenShift Service on AWS クラスターをすばやく作成します。ROSA CLI (rosa
) を使用してクラスターをデプロイできます。
既存の Red Hat OpenShift Service on AWS (クラシックアーキテクチャー) クラスターを Hosted Control Plane アーキテクチャーにアップグレードまたは変換することはできないため、Red Hat OpenShift Service on AWS 機能を使用するには新しいクラスターを作成する必要があります。
Red Hat OpenShift Service on AWS クラスターは AWS IAM セキュリティートークンサービス (STS) 認証のみをサポートします。
関連資料
- ROSA CLI を自動モードで使用して Red Hat OpenShift Service on AWS を開始する 方法については、AWS ドキュメントを参照してください。
自動作成モードに関する考慮事項
このドキュメントの手順では、ROSA CLI の auto
モードを使用して、現在の AWS アカウントを使用して必要な IAM リソースを即座に作成します。必要なリソースには、アカウント全体の IAM ロールおよびポリシー、クラスター固有の Operator ロール、ならびに OpenID Connect (OIDC) ID プロバイダーが含まれます。
または、IAM リソースを自動的にデプロイする代わりに、IAM リソースの作成に必要な aws
コマンドを出力する manual
モードを使用することもできます。
次のステップ
- AWS の前提条件 が完了していることを確認してください。
2.1. デフォルトのクラスター仕様の概要 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトのインストールオプションを使用して、Red Hat OpenShift Service on AWS クラスターをすばやく作成できます。
次の要約では、デフォルトのクラスター仕様を説明します。
コンポーネント | デフォルトの仕様 |
---|---|
アカウントおよびロール |
|
クラスター設定 |
|
コンピュートノードマシンプール |
|
ネットワーク設定 |
|
Classless Inter-Domain Routing (CIDR) の範囲 |
|
クラスターのロールおよびポリシー |
|
ストレージ |
|
クラスター更新ストラテジー |
|
2.2. Red Hat OpenShift Service on AWS の前提条件 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターを作成するには、次の項目が必要です。
- 設定された仮想プライベートクラウド (VPC)
- アカウント全体のロール
- OIDC 設定
- Operator ロール
2.2.1. Red Hat OpenShift Service on AWS クラスター用の Virtual Private Cloud の作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターを作成するには、仮想プライベートクラウド (VPC) が必要です。次の方法を使用して VPC を作成できます。
- ROSA CLI を使用した VPC の作成
- Terraform テンプレートを使用して VPC を作成する
- AWS コンソールで VPC リソースを手動で作成する
Terraform の手順はテストとデモンストレーションを目的としています。独自のインストールでは、独自に使用するために VPC にいくつかの変更を加える必要があります。また、この Terraform 設定を使用する場合は、クラスターをインストールする予定のリージョンと同じリージョン内に設定があることを確認してください。以下の例では、us-east-2
が使用されています。
ROSA CLI を使用した AWS VPC の作成
rosa create network
コマンドは、ROSA CLI のバージョン 1.2.48 以降で使用できます。このコマンドは、AWS CloudFormation を使用して、Red Hat OpenShift Service on AWS クラスターのインストールに必要な VPC と関連ネットワークコンポーネントを作成します。CloudFormation はネイティブの AWS インフラストラクチャーコードツールであり、AWS CLI と互換性があります。
テンプレートを指定しない場合、次のパラメーターを持つリソースを作成するデフォルトのテンプレートが CloudFormation によって使用されます。
VPC のパラメーター | 値 |
---|---|
アベイラビリティーゾーン | 1 |
リージョン |
|
VPC CIDR |
|
rosa create network
コマンドで使用する CloudFormation テンプレートを作成し、カスタマイズできます。デフォルトの VPC テンプレートの詳細は、このセクションの関連情報を参照してください。
前提条件
- AWS アカウントを設定した。
- Red Hat アカウントを設定した。
- ROSA CLI をインストールし、最新バージョンに設定した。
手順
次のコマンドを実行して、デフォルトの CloudFormations テンプレートを使用して AWS VPC を作成します。
rosa create network
$ rosa create network
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: 追加のパラメーターを指定して VPC をカスタマイズします。
--param
フラグを使用すると、デフォルトの VPC テンプレートへの変更を指定できます。次のコマンド例では、region
、Name
、AvailabilityZoneCount
、およびVpcCidr
のカスタム値を指定します。rosa create network --param Region=us-east-2 --param Name=quickstart-stack --param AvailabilityZoneCount=3 --param VpcCidr=10.0.0.0/16
$ rosa create network --param Region=us-east-2 --param Name=quickstart-stack --param AvailabilityZoneCount=3 --param VpcCidr=10.0.0.0/16
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドの実行には約 5 分かかります。リソースが作成されるたびに、AWS から定期的にステータスの更新が提供されます。CloudFormation に問題がある場合は、ロールバックが試行されます。それ以外のエラーが発生した場合は、エラーメッセージの指示に従うか、AWS サポートにお問い合わせください。
検証
完了すると、作成されたリソースの概要が表示されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Terraform を使用した Virtual Private Cloud の作成
Terraform は、確立されたテンプレートを使用してさまざまなリソースを作成できるツールです。次のプロセスでは、必要に応じてデフォルトのオプションを使用して Red Hat OpenShift Service on AWS クラスターを作成します。Terraform の使用の詳細は、関連情報を参照してください。
前提条件
- マシンに Terraform バージョン 1.4.0 以降がインストールされている。
- マシンに Git がインストールされている。
手順
シェルプロンプトを開き、次のコマンドを実行して Terraform VPC リポジトリーのクローンを作成します。
git clone https://github.com/openshift-cs/terraform-vpc-example
$ git clone https://github.com/openshift-cs/terraform-vpc-example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、作成したディレクトリーに移動します。
cd terraform-vpc-example
$ cd terraform-vpc-example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Terraform ファイルを開始します。
terraform init
$ terraform init
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このプロセスが完了すると、初期化を確認するメッセージが表示されます。
既存の Terraform テンプレートに基づいて VPC Terraform プランを構築するには、
plan
コマンドを実行します。AWS リージョンを含める必要があります。クラスター名を指定することもできます。terraform plan
が完了すると、rosa.tfplan
ファイルがhypershift-tf
ディレクトリーに追加されます。オプションの詳細は、Terraform VPC リポジトリーの README ファイル を参照してください。terraform plan -out rosa.tfplan -var region=<region>
$ terraform plan -out rosa.tfplan -var region=<region>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、このプランファイルを適用して VPC を構築します。
terraform apply rosa.tfplan
$ terraform apply rosa.tfplan
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: 次のコマンドを実行すると、Terraform でプロビジョニングされたプライベート、パブリック、およびマシンプールのサブネット ID の値を、Red Hat OpenShift Service on AWS クラスターの作成時に使用する環境変数としてキャプチャーできます。
export SUBNET_IDS=$(terraform output -raw cluster-subnets-string)
$ export SUBNET_IDS=$(terraform output -raw cluster-subnets-string)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを使用して、変数が正しく設定されたことを確認できます。
echo $SUBNET_IDS
$ echo $SUBNET_IDS
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
subnet-0a6a57e0f784171aa,subnet-078e84e5b10ecf5b0
$ subnet-0a6a57e0f784171aa,subnet-078e84e5b10ecf5b0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
AWS Virtual Private Cloud の手動作成
Terraform を使用する代わりに、AWS Virtual Private Cloud (VPC) を手動で作成することを選択した場合は、AWS コンソールの VPC ページ に移動します。
VPC は、次の表に示す要件を満たしている必要があります。
要件 | 詳細 |
---|---|
VPC 名 | クラスターを作成するときは、特定の VPC 名と ID が必要です。 |
CIDR 範囲 | VPC CIDR 範囲はマシンの CIDR と一致する必要があります。 |
アベイラビリティーゾーン | 単一ゾーンの場合は 1 つの可用性ゾーンが必要で、複数ゾーンの場合は 3 つの可用性ゾーンが必要です。 |
パブリックサブネット | パブリッククラスターには、NAT ゲートウェイを備えたパブリックサブネットが 1 つ必要です。プライベートクラスターにはパブリックサブネットは必要ありません。 |
DNS ホスト名と解決 | DNS ホスト名と解決が有効になっていることを確認する必要があります。 |
2.2.3. アカウント全体の STS ロールおよびポリシーの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターを作成する前に、必要なアカウント全体のロールとポリシーを作成する必要があります。
Red Hat OpenShift Service on AWS の特定の AWS 管理ポリシーを各ロールに添付する必要があります。これらの必要なアカウントロールには、顧客管理のポリシーを使用しないでください。Red Hat OpenShift Service on AWS クラスターの AWS 管理ポリシーの詳細は、ROSA の AWS 管理ポリシーを 参照してください。
前提条件
- Red Hat OpenShift Service on AWS の AWS 前提条件を完了している。
- 利用可能な AWS サービスクォータがある。
- AWS コンソールで Red Hat OpenShift Service on AWS を有効にしました。
-
インストールホストに最新の ROSA CLI (
rosa
) をインストールして設定した。 - ROSA CLI を使用して Red Hat アカウントにログインしている。
手順
AWS アカウントに存在しない場合は、次のコマンドを実行して、必要なアカウント全体の STS ロールを作成し、ポリシーをアタッチします。
rosa create account-roles --hosted-cp
$ rosa create account-roles --hosted-cp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: 次のコマンドを実行して、接頭辞を環境変数として設定します。
export ACCOUNT_ROLES_PREFIX=<account_role_prefix>
$ export ACCOUNT_ROLES_PREFIX=<account_role_prefix>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、変数の値を表示します。
echo $ACCOUNT_ROLES_PREFIX
$ echo $ACCOUNT_ROLES_PREFIX
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
ManagedOpenShift
ManagedOpenShift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Red Hat OpenShift Service on AWS の AWS 管理 IAM ポリシーの詳細は、ROSA の AWS 管理 IAM ポリシー を参照してください。
2.2.4. OpenID Connect 設定の作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターを作成するときに、クラスターを作成する前に OpenID Connect (OIDC) 設定を作成できます。この設定は、OpenShift Cluster Manager で使用するために登録されています。
前提条件
- Red Hat OpenShift Service on AWS の AWS 前提条件を完了している。
-
インストールホストに最新の ROSA CLI
rosa
をインストールして設定した。
手順
AWS リソースと一緒に OIDC 設定を作成するには、次のコマンドを実行します。
rosa create oidc-config --mode=auto --yes
$ rosa create oidc-config --mode=auto --yes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは次の情報を返します。
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターを作成するときは、OIDC 設定 ID を指定する必要があります。CLI 出力では、
--mode auto
のこの値が提供されます。それ以外の場合は、--mode manual
のaws
CLI 出力に基づいてこれらの値を決定する必要があります。オプション: OIDC 設定 ID を変数として保存して、後で使用できます。次のコマンドを実行して変数を保存します。
export OIDC_ID=<oidc_config_id>
$ export OIDC_ID=<oidc_config_id>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 上記の出力例では、OIDC 設定 ID は 13cdr6b です。
次のコマンドを実行して、変数の値を表示します。
echo $OIDC_ID
$ echo $OIDC_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
13cdr6b
13cdr6b
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
ユーザー組織に関連付けられているクラスターで使用できる可能な OIDC 設定をリストできます。以下のコマンドを実行します。
rosa list oidc-config
$ rosa list oidc-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
ID MANAGED ISSUER URL SECRET ARN 2330dbs0n8m3chkkr25gkkcd8pnj3lk2 true https://dvbwgdztaeq9o.cloudfront.net/2330dbs0n8m3chkkr25gkkcd8pnj3lk2 233hvnrjoqu14jltk6lhbhf2tj11f8un false https://oidc-r7u1.s3.us-east-1.amazonaws.com aws:secretsmanager:us-east-1:242819244:secret:rosa-private-key-oidc-r7u1-tM3MDN
ID MANAGED ISSUER URL SECRET ARN 2330dbs0n8m3chkkr25gkkcd8pnj3lk2 true https://dvbwgdztaeq9o.cloudfront.net/2330dbs0n8m3chkkr25gkkcd8pnj3lk2 233hvnrjoqu14jltk6lhbhf2tj11f8un false https://oidc-r7u1.s3.us-east-1.amazonaws.com aws:secretsmanager:us-east-1:242819244:secret:rosa-private-key-oidc-r7u1-tM3MDN
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.5. Operator のロールとポリシーの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターをデプロイするときは、Operator IAM ロールを作成する必要があります。クラスター Operator は、Operator のロールとポリシーを使用して、バックエンドストレージの管理やクラスターへの外部アクセスなどのクラスター操作を実行するために必要な一時的な権限を取得します。
前提条件
- Red Hat OpenShift Service on AWS の AWS 前提条件を完了している。
-
インストールホストに最新の ROSA CLI (
rosa
) をインストールして設定した。 - アカウント全体の AWS ロールを作成した。
手順
Operator ロールを作成するには、次のコマンドを実行します。
rosa create operator-roles --hosted-cp --prefix=$OPERATOR_ROLES_PREFIX --oidc-config-id=$OIDC_ID --installer-role-arn arn:aws:iam::$AWS_ACCOUNT_ID:role/${ACCOUNT_ROLES_PREFIX}-HCP-ROSA-Installer-Role
$ rosa create operator-roles --hosted-cp --prefix=$OPERATOR_ROLES_PREFIX --oidc-config-id=$OIDC_ID --installer-role-arn arn:aws:iam::$AWS_ACCOUNT_ID:role/${ACCOUNT_ROLES_PREFIX}-HCP-ROSA-Installer-Role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次の内訳は、Operator ロール作成のオプションを示しています。
rosa create operator-roles --hosted-cp
$ rosa create operator-roles --hosted-cp --prefix=$OPERATOR_ROLES_PREFIX
1 --oidc-config-id=$OIDC_ID
2 --installer-role-arn arn:aws:iam::$AWS_ACCOUNT_ID:role/$ACCOUNT_ROLES_PREFIX-HCP-ROSA-Installer-Role
3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat OpenShift Service on AWS クラスターに正しいロールを作成するには、
--hosted-cp
パラメーターを含める必要があります。このコマンドは次の情報を返します。出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Operator ロールが作成され、Red Hat OpenShift Service on AWS クラスターの作成に使用する準備が整いました。
検証
Red Hat OpenShift Service on AWS に関連付けられている Operator ロールをリスト表示できます。以下のコマンドを実行します。
rosa list operator-roles
$ rosa list operator-roles
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- コマンドを実行すると、AWS アカウントに関連付けられているすべての接頭辞が表示され、この接頭辞に関連付けられているロールの数が記録されます。これらのロールとその詳細をすべて表示する必要がある場合は、詳細プロンプトで "Yes" と入力すると、これらのロールが詳細とともにリストされます。
2.3. CLI を使用して Red Hat OpenShift Service on AWS クラスターを作成する リンクのコピーリンクがクリップボードにコピーされました!
ROSA CLI (rosa
) を使用してクラスターを作成する場合、デフォルトのオプションを選択してクラスターをすばやく作成できます。
前提条件
- Red Hat OpenShift Service on AWS の AWS 前提条件を完了している。
- 利用可能な AWS サービスクォータがある。
- AWS コンソールで Red Hat OpenShift Service on AWS を有効にしました。
-
インストールホストに最新の ROSA CLI (
rosa
) をインストールして設定した。現在インストールされている ROSA CLI のバージョンを確認するには、rosa version
を実行します。新しいバージョンが利用可能な場合、CLI はこのアップグレードをダウンロードするためのリンクを提供します。 - ROSA CLI を使用して Red Hat アカウントにログインしている。
- OIDC 設定を作成した。
- AWS Elastic Load Balancing (ELB) サービスロールが AWS アカウントに存在することを確認した。
手順
Red Hat OpenShift Service on AWS クラスターを作成するには、次のいずれかのコマンドを使用します。
注記Red Hat OpenShift Service on AWS クラスターを作成する場合、デフォルトのマシン Classless Inter-Domain Routing (CIDR) は
10.0.0.0/16
です。これが VPC サブネットの CIDR 範囲に対応していない場合は、次のコマンドに--machine-cidr <address_block>
を追加します。Red Hat OpenShift Service on AWS のデフォルト CIDR 範囲の詳細は、「CIDR 範囲の定義」を参照してください。環境変数を設定していない場合は、以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- クラスターの名前を指定します。クラスター名が 15 文字を超える場合、openshiftapps.com でプロビジョニングされたクラスターのサブドメインとして自動生成されたドメイン接頭辞が含まれます。サブドメインをカスタマイズするには、
--domain-prefix
フラグを使用します。ドメイン接頭辞は 15 文字を超えてはならず、一意である必要があり、クラスターの作成後に変更できません。 - 2
- オプション:
--private
引数はプライベート Red Hat OpenShift Service on AWS クラスターを作成するために使用されます。この引数を使用する場合は、--subnet-ids
にプライベートサブネット ID のみを使用するようにしてください。 - 3
- デフォルトでは、クラスター固有の Operator のロール名には、クラスター名とランダムな 4 桁のハッシュが接頭辞として付けられます。オプションで、ロール名の
<cluster_name>-<hash>
を置き換えるカスタム接頭辞を指定できます。接頭辞は、クラスター固有の Operator IAM ロールを作成するときに適用されます。接頭辞の詳細は、カスタム Operator IAM ロール接頭辞について を参照してください。注記関連するアカウント全体のロールを作成したときにカスタム ARN パスを指定した場合、カスタムパスは自動的に検出されます。カスタムパスは、後のステップで作成するときに、クラスター固有の Operator ロールに適用されます。
- 4
- オプション: 別のアカウントでロールを引き受けるときに必要になる可能性のある一意の識別子。
環境変数を設定する場合、単一の初期マシンプールを備え、パブリックまたはプライベートに利用可能な API および Ingress を使用するクラスターを作成するには、次のコマンドを実行します。
rosa create cluster --private --cluster-name=<cluster_name> \ --mode=auto --hosted-cp --operator-roles-prefix=$OPERATOR_ROLES_PREFIX \ --oidc-config-id=$OIDC_ID --subnet-ids=$SUBNET_IDS
$ rosa create cluster --private --cluster-name=<cluster_name> \ --mode=auto --hosted-cp --operator-roles-prefix=$OPERATOR_ROLES_PREFIX \ --oidc-config-id=$OIDC_ID --subnet-ids=$SUBNET_IDS
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 環境変数を設定する場合、単一の初期マシンプール、パブリックに利用可能な API、およびパブリックに利用可能な Ingress を備えたクラスターを作成するには、次のコマンドを実行します。
rosa create cluster --cluster-name=<cluster_name> --mode=auto \ --hosted-cp --operator-roles-prefix=$OPERATOR_ROLES_PREFIX \ --oidc-config-id=$OIDC_ID --subnet-ids=$SUBNET_IDS
$ rosa create cluster --cluster-name=<cluster_name> --mode=auto \ --hosted-cp --operator-roles-prefix=$OPERATOR_ROLES_PREFIX \ --oidc-config-id=$OIDC_ID --subnet-ids=$SUBNET_IDS
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
次のコマンドを実行して、クラスターのステータスを確認します。
rosa describe cluster --cluster=<cluster_name>
$ rosa describe cluster --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の
State
フィールドの変更は、クラスターインストールの進捗として出力に表示されます。-
pending (Preparing account)
-
installing (DNS setup in progress)
-
installing
ready
注記インストールが失敗した場合や、
State
フィールドが 10 分以上ready
に変わらない場合は、インストールのトラブルシューティングのドキュメントで詳細を確認してください。詳細は、インストールのトラブルシューティング を参照してください。Red Hat サポートにサポートを依頼する手順は、Red Hat OpenShift Service on AWS のサポートの利用 を参照してください。
-
Red Hat OpenShift Service on AWS インストールプログラムのログを監視して、クラスター作成の進行状況を追跡します。ログを確認するには、次のコマンドを実行します。
rosa logs install --cluster=<cluster_name> --watch \
$ rosa logs install --cluster=<cluster_name> --watch \
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- オプション: インストールの進行中に新しいログメッセージを監視するには、
--watch
引数を使用します。
第3章 Terraform を使用した ROSA クラスターの作成 リンクのコピーリンクがクリップボードにコピーされました!
3.1. Terraform を使用してデフォルトの Red Hat OpenShift Service on AWS クラスターを作成する リンクのコピーリンクがクリップボードにコピーされました!
デフォルトのクラスターオプションで設定された Terraform クラスターテンプレートを使用して、Red Hat OpenShift Service on AWS クラスターをすばやく作成します。
以下で説明するクラスター作成プロセスでは、次のリソースを使用して Red Hat OpenShift Service on AWS クラスターを準備する Terraform 設定を使用します。
-
マネージド
oidc-config
設定を使用する OIDC プロバイダー - 前提条件となる IAM Operator ロールと、それに関連付けられた AWS マネージド Red Hat OpenShift Service on AWS ポリシー
- IAM アカウントロールと関連する AWS マネージド Red Hat OpenShift Service on AWS ポリシー
- Red Hat OpenShift Service on AWS クラスターを作成するために必要なその他のすべての AWS リソース
3.1.1. Terraform の概要 リンクのコピーリンクがクリップボードにコピーされました!
Terraform は、リソースを設定すると必要に応じてそれらのリソースをレプリケートできる infrastructure-as-code ツールです。Terraform は、宣言的言語を使用して作成タスクを実行します。インフラストラクチャーリソースの任意の最終状態を宣言すると、Terraform は仕様に合わせてリソースを作成します。
前提条件
Terraform 設定内で Red Hat Cloud Services プロバイダー を使用するには、次の前提条件を満たす必要があります。
- ROSA CLI ツールがインストールされました。
- オフラインの Red Hat OpenShift Cluster Manager トークン がある。
- Terraform バージョン 1.4.6 以降をインストールした。
AWS アカウント全体の IAM ロールを作成した。
特定のアカウント全体の IAM ロールとポリシーは、Red Hat OpenShift Service on AWS のサポート、インストール、コントロールプレーン、コンピューティング機能に必要な STS 権限を提供します。これには、アカウント全体の Operator ポリシーが含まれます。AWS アカウントロールの詳細は、関連情報を参照してください。
- リソースを作成できる AWS アカウント と 関連する認証情報 がある。この認証情報は AWS プロバイダー用に設定されているものです。AWS Terraform プロバイダーのドキュメントで、Authentication and Configuration セクションを参照してください。
Terraform を操作する AWS IAM ロールポリシーに、少なくとも以下の権限がある。権限は、AWS コンソールで確認してください。
例3.1 Terraform の最小限の AWS 権限
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Terraform を使用する場合の考慮事項
一般に、Terraform を使用してクラウドリソースを管理する場合は、すべての変更が Terraform 方法論を使用して実行されることを前提として行う必要があります。AWS コンソールや Red Hat コンソールなど、Terraform 外部のツールを使用して Terraform によって作成されたクラウドリソースを変更する場合は注意してください。Terraform によってすでに管理されているクラウドリソースを管理するために Terraform 外部のツールを使用すると、宣言した Terraform 設定から設定のドリフトが発生します。
たとえば、Red Hat Hybrid Cloud Console を使用して Terraform で作成されたクラスターをアップグレードする場合は、今後の設定変更を適用する前に Terraform の状態を調整する必要があります。詳細は、HashiCorp Developer ドキュメントの Manage resources in Terraform state を参照してください。
3.1.2. デフォルトのクラスター仕様の概要 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトのインストールオプションを使用して、Red Hat OpenShift Service on AWS クラスターをすばやく作成できます。
次の要約では、デフォルトのクラスター仕様を説明します。
コンポーネント | デフォルトの仕様 |
---|---|
アカウントおよびロール |
|
クラスター設定 |
|
コンピュートノードマシンプール |
|
ネットワーク設定 |
|
Classless Inter-Domain Routing (CIDR) の範囲 |
|
クラスターのロールおよびポリシー |
|
ストレージ |
|
クラスター更新ストラテジー |
|
3.1.3. Terraform を使用してデフォルトの Red Hat OpenShift Service on AWS クラスターを作成する リンクのコピーリンクがクリップボードにコピーされました!
以下に概説するクラスター作成プロセスでは、Terraform を使用してアカウント全体の IAM ロールと、マネージド OIDC 設定の Red Hat OpenShift Service on AWS クラスターを作成する方法を示します。
3.1.3.1. Terraform 用の環境の準備 リンクのコピーリンクがクリップボードにコピーされました!
Terraform を使用して Red Hat OpenShift Service on AWS クラスターを作成する前に、オフラインの Red Hat OpenShift Cluster Manager トークン をエクスポートする必要があります。
手順
オプション: この手順の実行中、現在のディレクトリーに Terraform ファイルが作成されます。次のコマンドを実行すると、これらのファイルを保存する新しいディレクトリーを作成してそこに移動できます。
mkdir terraform-cluster && cd terraform-cluster
$ mkdir terraform-cluster && cd terraform-cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - オフラインの Red Hat OpenShift Cluster Manager トークン を使用して、アカウントに権限を付与します。
オフライントークンをコピーし、次のコマンドを実行してトークンを環境変数として設定します。
export RHCS_TOKEN=<your_offline_token>
$ export RHCS_TOKEN=<your_offline_token>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記この環境変数は、マシンの再起動やターミナルの終了など、各セッションの終了時にリセットされます。
検証
トークンをエクスポートしたら、次のコマンドを実行して値を確認します。
echo $RHCS_TOKEN
$ echo $RHCS_TOKEN
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.3.2. ローカルでの Terraform ファイルの作成 リンクのコピーリンクがクリップボードにコピーされました!
オフラインの Red Hat OpenShift Cluster Manager トークン を設定した後、クラスターを構築するために Terraform ファイルをローカルで作成する必要があります。このファイルは、次のコードテンプレートを使用して作成できます。
手順
次のコマンドを実行して、
main.tf
ファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- オプション: 適切なパラメーターのコメントを解除し、必要に応じて値を編集して、クラスターの作成中に管理者ユーザーを作成します。
次のコマンドを実行して、
variables.tf
ファイルを作成します。注記クラスターを構築するコマンドを実行する 前 に、このファイルをコピーして編集します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して
vpc.tf
ファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow これで Terraform を起動する準備ができました。
3.1.3.3. Terraform を使用して Red Hat OpenShift Service on AWS クラスターを作成する リンクのコピーリンクがクリップボードにコピーされました!
Terraform ファイルを作成した後、Terraform を起動して、必要な依存関係をすべて提供する必要があります。その後、Terraform プランを適用します。
Terraform の状態ファイルは変更しないでください。詳細は、Terraform 使用時の考慮事項 を参照してください。
手順
Terraform ファイルに基づいてリソースを作成するように Terraform を設定し、次のコマンドを実行します。
terraform init
$ terraform init
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: 次のコマンドを実行して、コピーした Terraform が正しいことを確認します。
terraform validate
$ terraform validate
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Success! The configuration is valid.
Success! The configuration is valid.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Terraform を使用してクラスターを作成します。
terraform apply
$ terraform apply
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Terraform インターフェイスでは、クラスターを作成するために次のような 2 つの質問が表示されます。
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Terraform インターフェイスに作成または変更するリソースがリストされ、確認を求めるプロンプトが表示されたら、続行するには
yes
を、キャンセルするにはno
を入力します。出力例
Plan: 63 to add, 0 to change, 0 to destroy. Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve.
Plan: 63 to add, 0 to change, 0 to destroy. Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow yes
と入力すると、Terraform プランが開始され、AWS アカウントロール、Operator ロール、および Red Hat OpenShift Service on AWS クラスターが作成されます。
検証
次のコマンドを実行して、クラスターが作成されたことを確認します。
rosa list clusters
$ rosa list clusters
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターの ID、名前、ステータスを示す出力例
ID NAME STATE TOPOLOGY 27c3snjsupa9obua74ba8se5kcj11269 rosa-tf-demo ready Hosted CP
ID NAME STATE TOPOLOGY 27c3snjsupa9obua74ba8se5kcj11269 rosa-tf-demo ready Hosted CP
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、アカウントロールが作成されたことを確認します。
rosa list account-roles
$ rosa list account-roles
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
I: Fetching account roles ROLE NAME ROLE TYPE ROLE ARN OPENSHIFT VERSION AWS Managed ROSA-demo-Installer-Role Installer arn:aws:iam::<ID>:role/ROSA-demo-Installer-Role 4.14 No ROSA-demo-Support-Role Support arn:aws:iam::<ID>:role/ROSA-demo-Support-Role 4.14 No ROSA-demo-Worker-Role Worker arn:aws:iam::<ID>:role/ROSA-demo-Worker-Role 4.14 No
I: Fetching account roles ROLE NAME ROLE TYPE ROLE ARN OPENSHIFT VERSION AWS Managed ROSA-demo-Installer-Role Installer arn:aws:iam::<ID>:role/ROSA-demo-Installer-Role 4.14 No ROSA-demo-Support-Role Support arn:aws:iam::<ID>:role/ROSA-demo-Support-Role 4.14 No ROSA-demo-Worker-Role Worker arn:aws:iam::<ID>:role/ROSA-demo-Worker-Role 4.14 No
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Operator ロールが作成されたことを確認します。
rosa list operator-roles
$ rosa list operator-roles
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Terraform で作成された Operator ロールを示す出力例
I: Fetching operator roles ROLE PREFIX AMOUNT IN BUNDLE rosa-demo 8
I: Fetching operator roles ROLE PREFIX AMOUNT IN BUNDLE rosa-demo 8
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.3.4. Terraform を使用して Red Hat OpenShift Service on AWS クラスターを削除する リンクのコピーリンクがクリップボードにコピーされました!
terraform destroy
コマンドを使用して、terraform apply
コマンドで作成したすべてのリソースを削除します。
リソースを破棄する前に、Terraform の .tf
ファイルを変更しないでください。これらの変数は削除対象のリソースと照合されます。
手順
terraform apply
コマンドを実行してクラスターを作成したディレクトリーで、次のコマンドを実行してクラスターを削除します。terraform destroy
$ terraform destroy
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Terraform インターフェイスでは、2 つの変数の入力を求められます。これらは、クラスターの作成時に指定した回答と一致する必要があります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow yes
と入力して、ロールとクラスターの削除を開始します。出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、クラスターが破棄されたことを確認します。
rosa list clusters
$ rosa list clusters
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターがないことを示す出力例
I: No clusters available
I: No clusters available
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、アカウントロールが破棄されたことを確認します。
rosa list account-roles
$ rosa list account-roles
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Terraform で作成されたアカウントロールがないことを示す出力例
I: Fetching account roles I: No account roles available
I: Fetching account roles I: No account roles available
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Operator ロールが破棄されたことを確認します。
rosa list operator-roles
$ rosa list operator-roles
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Terraform で作成された Operator ロールがないことを示す出力例
I: Fetching operator roles I: No operator roles available
I: Fetching operator roles I: No operator roles available
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第4章 カスタム AWS KMS 暗号鍵を使用した ROSA with HCP クラスターの作成 リンクのコピーリンクがクリップボードにコピーされました!
カスタム AWS Key Management Service (KMS) キーを使用して Red Hat OpenShift Service on AWS クラスターを作成します。
4.1. Red Hat OpenShift Service on AWS の前提条件 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターを作成するには、次の項目が必要です。
- 設定された仮想プライベートクラウド (VPC)
- アカウント全体のロール
- OIDC 設定
- Operator ロール
4.2. Red Hat OpenShift Service on AWS クラスター用の Virtual Private Cloud の作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターを作成するには、仮想プライベートクラウド (VPC) が必要です。VPC を作成するには、次のいずれかの方法を使用します。
- ROSA コマンドラインインターフェイス (CLI) を使用して VPC を作成する
- Terraform テンプレートを使用して VPC を作成する
- AWS コンソールで VPC リソースを手動で作成する
Terraform の手順はテストとデモンストレーションを目的としています。独自のインストールでは、独自に使用するために VPC にいくつかの変更を加える必要があります。また、この Terraform スクリプトを使用するときは、クラスターをインストールする予定のリージョンと同じリージョンにあることを確認する必要があります。これらの例では、us-east-2
を使用します。
ROSA CLI を使用した AWS VPC の作成
rosa create network
コマンドは、ROSA CLI のバージョン 1.2.48 以降で使用できます。このコマンドは、AWS CloudFormation を使用して、Red Hat OpenShift Service on AWS クラスターのインストールに必要な VPC と関連ネットワークコンポーネントを作成します。CloudFormation はネイティブの AWS インフラストラクチャーコードツールであり、AWS CLI と互換性があります。
テンプレートを指定しない場合、次のパラメーターを持つリソースを作成するデフォルトのテンプレートが CloudFormation によって使用されます。
VPC のパラメーター | 値 |
---|---|
アベイラビリティーゾーン | 1 |
リージョン |
|
VPC CIDR |
|
rosa create network
コマンドで使用する CloudFormation テンプレートを作成し、カスタマイズできます。デフォルトの VPC テンプレートの詳細は、このセクションの関連情報を参照してください。
前提条件
- AWS アカウントを設定した。
- Red Hat アカウントを設定した。
- ROSA CLI をインストールし、最新バージョンに設定した。
手順
次のコマンドを実行して、デフォルトの CloudFormations テンプレートを使用して AWS VPC を作成します。
rosa create network
$ rosa create network
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: 追加のパラメーターを指定して VPC をカスタマイズします。
--param
フラグを使用すると、デフォルトの VPC テンプレートへの変更を指定できます。次のコマンド例では、region
、Name
、AvailabilityZoneCount
、およびVpcCidr
のカスタム値を指定します。rosa create network --param Region=us-east-2 --param Name=quickstart-stack --param AvailabilityZoneCount=3 --param VpcCidr=10.0.0.0/16
$ rosa create network --param Region=us-east-2 --param Name=quickstart-stack --param AvailabilityZoneCount=3 --param VpcCidr=10.0.0.0/16
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドの実行には約 5 分かかります。リソースが作成されるたびに、AWS から定期的にステータスの更新が提供されます。CloudFormation に問題がある場合は、ロールバックが試行されます。それ以外のエラーが発生した場合は、エラーメッセージの指示に従うか、AWS サポートにお問い合わせください。
検証
完了すると、作成されたリソースの概要が表示されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Terraform を使用した Virtual Private Cloud の作成
Terraform は、確立されたテンプレートを使用してさまざまなリソースを作成できるツールです。次のプロセスでは、必要に応じてデフォルトのオプションを使用して Red Hat OpenShift Service on AWS クラスターを作成します。Terraform の使用の詳細は、関連情報を参照してください。
前提条件
- マシンに Terraform バージョン 1.4.0 以降がインストールされている。
- マシンに Git がインストールされている。
手順
シェルプロンプトを開き、次のコマンドを実行して Terraform VPC リポジトリーのクローンを作成します。
git clone https://github.com/openshift-cs/terraform-vpc-example
$ git clone https://github.com/openshift-cs/terraform-vpc-example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、作成したディレクトリーに移動します。
cd terraform-vpc-example
$ cd terraform-vpc-example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Terraform ファイルを開始します。
terraform init
$ terraform init
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このプロセスが完了すると、初期化を確認するメッセージが表示されます。
既存の Terraform テンプレートに基づいて VPC Terraform プランを構築するには、
plan
コマンドを実行します。AWS リージョンを含める必要があります。クラスター名を指定することもできます。terraform plan
が完了すると、rosa.tfplan
ファイルがhypershift-tf
ディレクトリーに追加されます。オプションの詳細は、Terraform VPC リポジトリーの README ファイル を参照してください。terraform plan -out rosa.tfplan -var region=<region>
$ terraform plan -out rosa.tfplan -var region=<region>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、このプランファイルを適用して VPC を構築します。
terraform apply rosa.tfplan
$ terraform apply rosa.tfplan
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: 次のコマンドを実行すると、Terraform でプロビジョニングされたプライベート、パブリック、およびマシンプールのサブネット ID の値を、Red Hat OpenShift Service on AWS クラスターの作成時に使用する環境変数としてキャプチャーできます。
export SUBNET_IDS=$(terraform output -raw cluster-subnets-string)
$ export SUBNET_IDS=$(terraform output -raw cluster-subnets-string)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを使用して、変数が正しく設定されたことを確認できます。
echo $SUBNET_IDS
$ echo $SUBNET_IDS
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
subnet-0a6a57e0f784171aa,subnet-078e84e5b10ecf5b0
$ subnet-0a6a57e0f784171aa,subnet-078e84e5b10ecf5b0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
AWS Virtual Private Cloud の手動作成
Terraform を使用する代わりに、AWS Virtual Private Cloud (VPC) を手動で作成することを選択した場合は、AWS コンソールの VPC ページ に移動します。
VPC は、次の表に示す要件を満たしている必要があります。
要件 | 詳細 |
---|---|
VPC 名 | クラスターを作成するときは、特定の VPC 名と ID が必要です。 |
CIDR 範囲 | VPC CIDR 範囲はマシンの CIDR と一致する必要があります。 |
アベイラビリティーゾーン | 単一ゾーンの場合は 1 つの可用性ゾーンが必要で、複数ゾーンの場合は 3 つの可用性ゾーンが必要です。 |
パブリックサブネット | パブリッククラスターには、NAT ゲートウェイを備えたパブリックサブネットが 1 つ必要です。プライベートクラスターにはパブリックサブネットは必要ありません。 |
DNS ホスト名と解決 | DNS ホスト名と解決が有効になっていることを確認する必要があります。 |
4.2.2. アカウント全体の STS ロールおよびポリシーの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターを作成する前に、必要なアカウント全体のロールとポリシーを作成する必要があります。
Red Hat OpenShift Service on AWS の特定の AWS 管理ポリシーを各ロールに添付する必要があります。これらの必要なアカウントロールには、顧客管理のポリシーを使用しないでください。Red Hat OpenShift Service on AWS クラスターの AWS 管理ポリシーの詳細は、ROSA の AWS 管理ポリシーを 参照してください。
前提条件
- Red Hat OpenShift Service on AWS の AWS 前提条件を完了している。
- 利用可能な AWS サービスクォータがある。
- AWS コンソールで Red Hat OpenShift Service on AWS を有効にしました。
-
インストールホストに最新の ROSA CLI (
rosa
) をインストールして設定した。 - ROSA CLI を使用して Red Hat アカウントにログインしている。
手順
AWS アカウントに存在しない場合は、次のコマンドを実行して、必要なアカウント全体の STS ロールを作成し、ポリシーをアタッチします。
rosa create account-roles --hosted-cp
$ rosa create account-roles --hosted-cp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: 次のコマンドを実行して、接頭辞を環境変数として設定します。
export ACCOUNT_ROLES_PREFIX=<account_role_prefix>
$ export ACCOUNT_ROLES_PREFIX=<account_role_prefix>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、変数の値を表示します。
echo $ACCOUNT_ROLES_PREFIX
$ echo $ACCOUNT_ROLES_PREFIX
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
ManagedOpenShift
ManagedOpenShift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Red Hat OpenShift Service on AWS の AWS 管理 IAM ポリシーの詳細は、ROSA の AWS 管理 IAM ポリシー を参照してください。
4.2.3. OpenID Connect 設定の作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターを作成するときに、クラスターを作成する前に OpenID Connect (OIDC) 設定を作成できます。この設定は、OpenShift Cluster Manager で使用するために登録されています。
前提条件
- Red Hat OpenShift Service on AWS の AWS 前提条件を完了している。
-
インストールホストに最新の ROSA CLI
rosa
をインストールして設定した。
手順
AWS リソースと一緒に OIDC 設定を作成するには、次のコマンドを実行します。
rosa create oidc-config --mode=auto --yes
$ rosa create oidc-config --mode=auto --yes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは次の情報を返します。
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターを作成するときは、OIDC 設定 ID を指定する必要があります。CLI 出力では、
--mode auto
のこの値が提供されます。それ以外の場合は、--mode manual
のaws
CLI 出力に基づいてこれらの値を決定する必要があります。オプション: OIDC 設定 ID を変数として保存して、後で使用できます。次のコマンドを実行して変数を保存します。
export OIDC_ID=<oidc_config_id>
$ export OIDC_ID=<oidc_config_id>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 上記の出力例では、OIDC 設定 ID は 13cdr6b です。
次のコマンドを実行して、変数の値を表示します。
echo $OIDC_ID
$ echo $OIDC_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
13cdr6b
13cdr6b
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
ユーザー組織に関連付けられているクラスターで使用できる可能な OIDC 設定をリストできます。以下のコマンドを実行します。
rosa list oidc-config
$ rosa list oidc-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
ID MANAGED ISSUER URL SECRET ARN 2330dbs0n8m3chkkr25gkkcd8pnj3lk2 true https://dvbwgdztaeq9o.cloudfront.net/2330dbs0n8m3chkkr25gkkcd8pnj3lk2 233hvnrjoqu14jltk6lhbhf2tj11f8un false https://oidc-r7u1.s3.us-east-1.amazonaws.com aws:secretsmanager:us-east-1:242819244:secret:rosa-private-key-oidc-r7u1-tM3MDN
ID MANAGED ISSUER URL SECRET ARN 2330dbs0n8m3chkkr25gkkcd8pnj3lk2 true https://dvbwgdztaeq9o.cloudfront.net/2330dbs0n8m3chkkr25gkkcd8pnj3lk2 233hvnrjoqu14jltk6lhbhf2tj11f8un false https://oidc-r7u1.s3.us-east-1.amazonaws.com aws:secretsmanager:us-east-1:242819244:secret:rosa-private-key-oidc-r7u1-tM3MDN
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.2.4. Operator のロールとポリシーの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターをデプロイするときは、Operator IAM ロールを作成する必要があります。クラスター Operator は、Operator のロールとポリシーを使用して、バックエンドストレージの管理やクラスターへの外部アクセスなどのクラスター操作を実行するために必要な一時的な権限を取得します。
前提条件
- Red Hat OpenShift Service on AWS の AWS 前提条件を完了している。
-
インストールホストに最新の ROSA CLI (
rosa
) をインストールして設定した。 - アカウント全体の AWS ロールを作成した。
手順
Operator ロールを作成するには、次のコマンドを実行します。
rosa create operator-roles --hosted-cp --prefix=$OPERATOR_ROLES_PREFIX --oidc-config-id=$OIDC_ID --installer-role-arn arn:aws:iam::$AWS_ACCOUNT_ID:role/${ACCOUNT_ROLES_PREFIX}-HCP-ROSA-Installer-Role
$ rosa create operator-roles --hosted-cp --prefix=$OPERATOR_ROLES_PREFIX --oidc-config-id=$OIDC_ID --installer-role-arn arn:aws:iam::$AWS_ACCOUNT_ID:role/${ACCOUNT_ROLES_PREFIX}-HCP-ROSA-Installer-Role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次の内訳は、Operator ロール作成のオプションを示しています。
rosa create operator-roles --hosted-cp
$ rosa create operator-roles --hosted-cp --prefix=$OPERATOR_ROLES_PREFIX
1 --oidc-config-id=$OIDC_ID
2 --installer-role-arn arn:aws:iam::$AWS_ACCOUNT_ID:role/$ACCOUNT_ROLES_PREFIX-HCP-ROSA-Installer-Role
3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat OpenShift Service on AWS クラスターに正しいロールを作成するには、
--hosted-cp
パラメーターを含める必要があります。このコマンドは次の情報を返します。出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Operator ロールが作成され、Red Hat OpenShift Service on AWS クラスターの作成に使用する準備が整いました。
検証
Red Hat OpenShift Service on AWS に関連付けられている Operator ロールをリスト表示できます。以下のコマンドを実行します。
rosa list operator-roles
$ rosa list operator-roles
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- コマンドを実行すると、AWS アカウントに関連付けられているすべての接頭辞が表示され、この接頭辞に関連付けられているロールの数が記録されます。これらのロールとその詳細をすべて表示する必要がある場合は、詳細プロンプトで "Yes" と入力すると、これらのロールが詳細とともにリストされます。
4.2.5. カスタム AWS KMS キーを使用して Red Hat OpenShift Service on AWS クラスターを作成する リンクのコピーリンクがクリップボードにコピーされました!
ノードルートボリューム、etcd データベース、またはその両方を暗号化するために使用される、お客様提供の KMS キーを使用して Red Hat OpenShift Service on AWS クラスターを作成できます。両方にそれぞれ異なる KMS キー ARN を指定できます。
Red Hat OpenShift Service on AWS は、お客様が提供した KMS キーを使用して永続ボリュームを暗号化するための デフォルトの
ストレージクラスを自動的に設定しません。これは、インストール後にクラスター内で設定できるものです。
手順
次のコマンドを実行して、AWS の顧客管理のカスタム KMS キーを作成します。
KMS_ARN=$(aws kms create-key --region $AWS_REGION --description 'Custom ROSA Encryption Key' --tags TagKey=red-hat,TagValue=true --query KeyMetadata.Arn --output text)
$ KMS_ARN=$(aws kms create-key --region $AWS_REGION --description 'Custom ROSA Encryption Key' --tags TagKey=red-hat,TagValue=true --query KeyMetadata.Arn --output text)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドで、後の手順のために、このカスタムキーの Amazon リソースネーム (ARN) 出力が保存されます。
注記お客様は、お客様の KMS キーに必要な
--tags TagKey=red-hat,TagValue=true
引数を指定する必要があります。次のコマンドを実行して、KMS キーが作成されたことを確認します。
echo $KMS_ARN
$ echo $KMS_ARN
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AWS アカウント ID を環境変数に設定します。
AWS_ACCOUNT_ID=<aws_account_id>
$ AWS_ACCOUNT_ID=<aws_account_id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 前述の手順で作成したアカウント全体のインストーラーロールと Operator ロールの ARN を、ファイルの
Statement.Principal.AWS
セクションに追加します。次の例では、デフォルトのManagedOpenShift-HCP-ROSA-Installer-Role
ロールの ARN が追加されます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、作成されたポリシーファイルの詳細を確認します。
cat rosa-key-policy.json
$ cat rosa-key-policy.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、新しく生成されたキーポリシーをカスタム KMS キーに適用します。
aws kms put-key-policy --key-id $KMS_ARN \ --policy file://rosa-key-policy.json \ --policy-name default
$ aws kms put-key-policy --key-id $KMS_ARN \ --policy file://rosa-key-policy.json \ --policy-name default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行してクラスターを作成します。
注記クラスター名が 15 文字を超える場合、
*.openshiftapps.com
にプロビジョニングされたクラスターのサブドメインとして自動生成されたドメイン接頭辞が含まれます。サブドメインをカスタマイズするには、
--domain-prefix
フラグを使用します。ドメイン接頭辞は 15 文字を超えてはならず、一意である必要があり、クラスターの作成後に変更できません。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
OpenShift Cluster Manager を使用して、KMS キーが機能することを確認できます。
- OpenShift Cluster Manager に移動し、Instances を選択します。
- インスタンスを選択します。
- Storage タブをクリックします。
- KMS key ID をコピーします。
- Key Management Service を検索して選択します。
- コピーした KMS key ID を Filter フィールドに入力します。
第6章 Red Hat OpenShift Service on AWS にプライベートクラスターを作成する リンクのコピーリンクがクリップボードにコピーされました!
パブリックインターネットアクセスを必要としない Red Hat OpenShift Service on AWS の場合は、プライベートクラスターを作成できます。
6.1. ROSA CLI を使用してプライベート Red Hat OpenShift Service on AWS クラスターを作成する リンクのコピーリンクがクリップボードにコピーされました!
ROSA コマンドラインインターフェイス (CLI) rosa
を使用して、Red Hat OpenShift Service on AWS で複数のアベイラビリティーゾーン (マルチ AZ) を持つプライベートクラスターを作成できます。
前提条件
- 利用可能な AWS サービスクォータがある。
- AWS コンソールで Red Hat OpenShift Service on AWS を有効にしました。
- インストールホストに最新バージョンの ROSA CLI をインストールして設定した。
手順
Hosted Control Plane を使用したクラスターの作成には、10 分ほどかかる場合があります。
少なくとも 1 つのプライベートサブネットを持つ VPC を作成します。マシンの Classless Inter-Domain Routing (CIDR) が、仮想プライベートクラウドの CIDR と一致していることを確認します。詳細は、独自の VPC を使用するための要件 および VPC 検証 を参照してください。
重要ファイアウォールを使用する場合は、ROSA が機能するのに必要なサイトにアクセスできるようにファイアウォールを設定する必要があります。
詳細は、「AWS PrivateLink ファイアウォールの前提条件」セクションを参照してください。
次のコマンドを実行して、アカウント全体の IAM ロールを作成します。
rosa create account-roles --hosted-cp
$ rosa create account-roles --hosted-cp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、OIDC 設定を作成します。
rosa create oidc-config --mode=auto --yes
$ rosa create oidc-config --mode=auto --yes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OIDC 設定の ID を保存します。Operator ロールの作成に必要なためです。
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Operator ロールを作成します。
rosa create operator-roles --hosted-cp --prefix <operator_roles_prefix> --oidc-config-id <oidc_config_id> --installer-role-arn arn:aws:iam::$<account_roles_prefix>:role/$<account_roles_prefix>-HCP-ROSA-Installer-Role
$ rosa create operator-roles --hosted-cp --prefix <operator_roles_prefix> --oidc-config-id <oidc_config_id> --installer-role-arn arn:aws:iam::$<account_roles_prefix>:role/$<account_roles_prefix>-HCP-ROSA-Installer-Role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、プライベート Red Hat OpenShift Service on AWS クラスターを作成します。
rosa create cluster --private --cluster-name=<cluster-name> --sts --mode=auto --hosted-cp --operator-roles-prefix <operator_role_prefix> --oidc-config-id <oidc_config_id> [--machine-cidr=<VPC CIDR>/16] --subnet-ids=<private-subnet-id1>[,<private-subnet-id2>,<private-subnet-id3>]
$ rosa create cluster --private --cluster-name=<cluster-name> --sts --mode=auto --hosted-cp --operator-roles-prefix <operator_role_prefix> --oidc-config-id <oidc_config_id> [--machine-cidr=<VPC CIDR>/16] --subnet-ids=<private-subnet-id1>[,<private-subnet-id2>,<private-subnet-id3>]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力してクラスターのステータスを確認します。クラスターの作成中、出力の
State
フィールドはpending
からinstalling
に移行し、最後にready
に移行します。rosa describe cluster --cluster=<cluster_name>
$ rosa describe cluster --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記インストールが失敗する場合や、10 分経っても
State
フィールドがready
に変わらない場合は、関連情報セクションの「Red Hat OpenShift Service on AWS のインストールのトラブルシューティング」ドキュメントを参照してください。以下のコマンドを実行して、OpenShift インストーラーのログでクラスターの進捗を追跡します。
rosa logs install --cluster=<cluster_name> --watch
$ rosa logs install --cluster=<cluster_name> --watch
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.2. AWS PrivateLink エンドポイントに AWS セキュリティーグループをさらに追加する リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターでは、ホストの Virtual Private Cloud (VPC) で公開される AWS PrivateLink エンドポイントに、クラスターのマシン CIDR 範囲内から発信されるリクエストへのアクセスを制限するセキュリティーグループがあります。VPC ピアリング、トランジットゲートウェイ、またはその他のネットワーク接続を介して VPC 外部のエンティティーに API アクセスを許可するには、別のセキュリティーグループを作成して PrivateLink エンドポイントにアタッチする必要があります。
AWS PrivateLink エンドポイントへの AWS セキュリティーグループの追加は、Red Hat OpenShift Service on AWS バージョン 4.17.2 以降でのみサポートされます。
前提条件
- 企業ネットワークまたは他の VPC に接続性がある。
- VPC 内でセキュリティーグループを作成して割り当てる権限を持っている。
手順
次のコマンドを実行して、クラスター名を環境変数として設定します。
export CLUSTER_NAME=<cluster_name>
$ export CLUSTER_NAME=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、変数が存在することを確認します。
echo $CLUSTER_NAME
$ echo $CLUSTER_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
hcp-private
hcp-private
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、VPC エンドポイント (VPCE) ID と VPC ID を見つけます。
read -r VPCE_ID VPC_ID <<< $(aws ec2 describe-vpc-endpoints --filters "Name=tag:api.openshift.com/id,Values=$(rosa describe cluster -c ${CLUSTER_NAME} -o yaml | grep '^id: ' | cut -d' ' -f2)" --query 'VpcEndpoints[].[VpcEndpointId,VpcId]' --output text)
$ read -r VPCE_ID VPC_ID <<< $(aws ec2 describe-vpc-endpoints --filters "Name=tag:api.openshift.com/id,Values=$(rosa describe cluster -c ${CLUSTER_NAME} -o yaml | grep '^id: ' | cut -d' ' -f2)" --query 'VpcEndpoints[].[VpcEndpointId,VpcId]' --output text)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 警告デフォルトの AWS PrivateLink エンドポイントセキュリティーグループの変更または削除はサポートされておらず、予期しない動作が発生する可能性があります。
次のコマンドを実行して、追加のセキュリティーグループを作成します。
export SG_ID=$(aws ec2 create-security-group --description "Granting API access to ${CLUSTER_NAME} from outside of VPC" --group-name "${CLUSTER_NAME}-api-sg" --vpc-id $VPC_ID --output text)
$ export SG_ID=$(aws ec2 create-security-group --description "Granting API access to ${CLUSTER_NAME} from outside of VPC" --group-name "${CLUSTER_NAME}-api-sg" --vpc-id $VPC_ID --output text)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、セキュリティーグループに受信 (Ingress) ルールを追加します。
aws ec2 authorize-security-group-ingress --group-id $SG_ID --ip-permissions FromPort=443,ToPort=443,IpProtocol=tcp,IpRanges=[{CidrIp=<cidr-to-allow>}] \
$ aws ec2 authorize-security-group-ingress --group-id $SG_ID --ip-permissions FromPort=443,ToPort=443,IpProtocol=tcp,IpRanges=[{CidrIp=<cidr-to-allow>}] \
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- アクセスを許可する CIDR ブロックを指定します。
次のコマンドを実行して、新しいセキュリティーグループを VPCE に追加します。
aws ec2 modify-vpc-endpoint --vpc-endpoint-id $VPCE_ID --add-security-group-ids $SG_ID
$ aws ec2 modify-vpc-endpoint --vpc-endpoint-id $VPCE_ID --add-security-group-ids $SG_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
指定された CIDR ブロックから Red Hat OpenShift Service on AWS の API にアクセスできるようになりました。
6.3. Red Hat OpenShift Service on AWS クラスターの追加プリンシパル リンクのコピーリンクがクリップボードにコピーされました!
クラスターのプライベート API サーバーエンドポイントに接続するための追加プリンシパルとして、AWS Identity and Access Management (IAM) ロールを許可できます。
Red Hat OpenShift Service on AWS クラスターの API サーバーエンドポイントには、パブリックインターネットまたは VPC プライベートサブネット内に作成されたインターフェイスエンドポイントからアクセスできます。デフォルトでは、-kube-system-kube-controller-manager
Operator ロールを使用して、Red Hat OpenShift Service on AWS API サーバーにプライベートにアクセスできます。クラスターがインストールされているプライマリーアカウントを使用せずに、別のアカウントから Red Hat OpenShift Service on AWS に直接アクセスできるようにするには、クロスアカウント IAM ロールを追加のプリンシパルとして含める必要があります。この機能を使用すると、ピアリングを回避したり、クロスアカウント VPC をクラスターの VPC にアタッチしたりして、ネットワークアーキテクチャーを簡素化し、データ転送コストを削減できます。
この図では、クラスターを作成するクラスターが Account A として指定されています。このアカウントは、別のアカウントである Account B に API サーバーへのアクセス権が必要であることを指定します。
追加の許可されたプリンシパルを設定したら、クロスアカウント Red Hat OpenShift Service on AWS API サーバーにアクセスする VPC にインターフェイス VPC エンドポイントを作成する必要があります。次に、Route53 にプライベートホストゾーンを作成し、Red Hat OpenShift Service on AWS への呼び出しを、作成された VPC エンドポイントを通過するようにルーティングします。
6.3.1. Red Hat OpenShift Service on AWS クラスターの作成中にプリンシパルを追加する リンクのコピーリンクがクリップボードにコピーされました!
他のロールを介したアクセスを許可するには、--additional-allowed-principals
引数を使用します。
手順
次の例のように、
rosa create cluster
コマンドに--additional-allowed-principals
引数を追加します。rosa create cluster [...] --additional-allowed-principals <arn_string>
$ rosa create cluster [...] --additional-allowed-principals <arn_string>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow arn:aws:iam::account_id:role/role_name
を使用して、特定のロールを承認できます。クラスター作成コマンドを実行すると、
--additional-allowed-principals
が指定されたクラスター概要が表示されます。出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.3.2. 既存の Red Hat OpenShift Service on AWS クラスターにプリンシパルを追加する リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインインターフェイス (CLI) を使用して、クラスターにプリンシパルをさらに追加できます。
手順
次のコマンドを実行してクラスターを編集し、このクラスターのエンドポイントにアクセスできる追加のプリンシパルを追加します。
rosa edit cluster -c <cluster_name> --additional-allowed-principals <arn_string>
$ rosa edit cluster -c <cluster_name> --additional-allowed-principals <arn_string>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow arn:aws:iam::account_id:role/role_name
を使用して、特定のロールを承認できます。
6.4. 次のステップ リンクのコピーリンクがクリップボードにコピーされました!
第7章 AWS クラスター上に Egress ゼロの Red Hat OpenShift Service on AWS クラスターを作成する リンクのコピーリンクがクリップボードにコピーされました!
出力ゼロで Red Hat OpenShift Service on AWS を作成すると、クラスターがインターネットにアクセスできない場合にクラスターがローカルリージョンのイメージレジストリーを使用できるようにすることで、クラスターの安定性とセキュリティーを強化できます。クラスターは最初に Quay からイメージをプルしようとしますが、イメージにアクセスできない場合は、代わりにローカルリージョンのイメージレジストリーからイメージをプルします。
Egress ゼロのすべてのパブリッククラスターとプライベートクラスターは、インターネット上のさまざまなエンドポイントやレジストリーからこれらのイメージを収集するのではなく、クラスターのローカルリージョンにある Amazon Elastic Container Registry (ECR) から Red Hat コンテナーイメージを取得します。ECR は、OpenShift リリースイメージと Red Hat Operator 用のストレージを提供します。ECR へのリクエストは、すべてクラスター内の VPC エンドポイント経由で提供されるため、お客様の AWS ネットワーク内に保持されます。
Egress Zero の Red Hat OpenShift Service on AWS クラスターは、AWS ECR を使用して、パブリックインターネットを必要とせずにクラスターをプロビジョニングします。クラスターのライフサイクルに必要なプロセスは、AWS のプライベートネットワーク経由で実行されます。そのため、AWS ECR はクラスターのコアプラットフォームイメージを提供するうえで欠かせないサービスです。AWS ECR の詳細は、Amazon Elastic Container Registry を参照してください。
Virtual Private Cloud (VPC) を設定し、クラスターの作成時に --properties zero_egress:true
フラグを使用することで、パブリック Egress を必要としない完全に機能するクラスターを作成できます。
Egress zero を使用してクラスターをアップグレードするには 、Red Hat OpenShift Service on AWS クラスターのアップグレードを 参照してください。
ネットワークが制限された環境で作成されたクラスターは、Red Hat Insights や Telemetry などの特定の Red Hat OpenShift Service on AWS 機能を使用できない可能性があります。このようなクラスターでは、quay.io
などのレジストリーへのパブリックアクセスを必要とするワークロードで障害が発生する可能性もあります。Egress ゼロを使用してインストールしたクラスターを使用する場合は、OperatorHub から Red Hat が所有する Operator をインストールすることもできます。Red Hat が所有する Operator の完全なリストは、Red Hat Ecosystem Catalog を参照してください。Egress ゼロを使用してインストールした Operator の場合、デフォルトの Operator チャネルのみがミラーリングされます。
ネットワーク環境用語集
非接続環境 という用語は、Red Hat OpenShift Service on AWS のドキュメント全体で使用されていますが、さまざまなレベルのインターネット接続を備えた環境を意味する場合もある広義の用語です。また、特定レベルのインターネット接続を意味する他の用語も使用されており、そのような環境では固有の設定が追加で必要な場合があります。この種類のネットワークは、インターネットに完全にアクセスできる "標準的なネットワーク" とは異なります。
次の表は、完全なインターネット接続がない環境を指して使用されるさまざまな用語を説明しています。
用語 | 説明 |
---|---|
エアギャップネットワーク | 外部ネットワークから完全に分離された環境またはネットワーク。 この場合の分離は、内部ネットワーク上のマシンと外部ネットワーク部分との間が物理的に分離されていること ("エアギャップ") を意味します。エアギャップ環境は、厳格なセキュリティー要件や規制要件がある業界でよく使用されます。 |
非接続環境 | 外部ネットワークから、一定レベルの分離が存在する環境またはネットワーク。 この分離は、内部ネットワーク上のマシンと外部ネットワークを物理的にまたは論理的に分離することで実現できます。外部ネットワークからの分離レベルにかかわらず、非接続環境のクラスターは Red Hat がホストするパブリックサービスにアクセスできないため、クラスターの機能を完全に維持するためのセットアップが追加で必要になります。 |
ネットワークが制限されたインストール | 外部ネットワークへの接続が制限されている環境またはネットワーク。 内部ネットワーク上のマシンと外部ネットワークの間に物理的な接続が存在する場合もありますが、ネットワークトラフィックはファイアウォールやプロキシーなどの追加設定により制限されています。 |
前提条件
- VPC、サブネット、その他の必要なインフラストラクチャーを作成するのに十分な権限を持つ AWS アカウントがある。
- Terraform v1.4.0+ CLI をインストールした。
- ROSA v1.2.45+ CLI をインストールした。
- 必要な認証情報を使用して AWS CLI をインストールし、設定した。
- git CLI をインストールした。
- Hosted Control Plane アーキテクチャーを使用する Red Hat OpenShift Service on AWS のすべてのサポートされているバージョンで Egress zero を使用できます。ただし、Red Hat では、OpenShift Container Platform バージョンごとに利用可能な最新の z-stream リリースを使用することを推奨しています。
- 通常のクラスターと同様にクラスターをインストールおよびアップグレードすることはできます。しかし、Egress ゼロのクラスターでは、非接続環境での内部イメージレジストリーの機能に関するアップストリームの問題により、イメージレジストリーなどのすべてのプラットフォームコンポーネントを完全に使用することはできません。クラスターをアップグレードまたはインストールするときに、最新の ROSA バージョンを使用すると、この機能を復元できます。
7.1. 環境変数の設定 リンクのコピーリンクがクリップボードにコピーされました!
リソースの作成を効率化するには、次の環境変数を設定します。
手順
次のコマンドを実行して環境変数を設定します。
export <variable_name>=<variable_value>
$ export <variable_name>=<variable_value>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行すると、変数が設定されたかどうかを確認できます。
echo <variable_name>
$ echo <variable_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Expand 表7.2 切断された Red Hat OpenShift Service on AWS クラスターの推奨変数 変数名 変数値 注記 AWS_ACCOUNT_ID
$(aws sts get-caller-identity --query Account --output text)
rosa login
を使用して AWS アカウントにログインする必要があります。CLUSTER_NAME
クラスターに付ける名前。
26 文字を超えるクラスター名を指定することはできません。
OIDC_ID
OpenID Connect (OIDC) 設定の 32 桁の ID。
この ID は、
rosa create oidc-config
を実行して生成します。OPERATOR_ROLES_PREFIX
Operator ロール接頭辞。
AWS アカウントロールで Operator ロールと同じ接頭辞を使用するには、Operator ロール接頭辞変数を設定した後、
ACCOUNT_ROLES_PREFIX=$OPERATOR_ROLES_PREFIX
を実行できます。PRIVATE_SUBNET
プライベートサブネットの ID。
この値を引用符 (") で囲み、サブネット ID をコンマで区切る必要があります。
REGION
使用中の AWS リージョン。
-
SUBNET_IDS
すべてのサブネットの ID。
この値を引用符 (") で囲み、サブネット ID をコンマで区切る必要があります。
7.2. Red Hat OpenShift Service on AWS クラスター用の Virtual Private Cloud の作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターを作成するには、仮想プライベートクラウド (VPC) が必要です。VPC エンドポイント経由でローカルの ECR ミラーからイメージをプルするには、privatelink サービス接続を設定し、特定のタグを使用してデフォルトのセキュリティーグループを変更する必要があります。VPC を作成するには、次のいずれかの方法を使用します。
- ROSA コマンドラインインターフェイス (CLI) を使用して VPC を作成する
- Terraform テンプレートを使用して VPC を作成する
- AWS CLI を使用した VPC の作成
- AWS コンソールで VPC リソースを手動で作成する
7.2.1. ROSA CLI を使用した AWS VPC の作成 リンクのコピーリンクがクリップボードにコピーされました!
rosa create network
コマンドは、ROSA CLI のバージョン 1.2.48 以降で使用できます。このコマンドは、AWS CloudFormation を使用して、Red Hat OpenShift Service on AWS クラスターのインストールに必要な VPC と関連ネットワークコンポーネントを作成します。CloudFormation はネイティブの AWS インフラストラクチャーコードツールであり、AWS CLI と互換性があります。
テンプレートを指定しない場合、次のパラメーターを持つリソースを作成するデフォルトのテンプレートが CloudFormation によって使用されます。
VPC のパラメーター | 値 |
---|---|
アベイラビリティーゾーン | 1 |
リージョン |
|
VPC CIDR |
|
rosa create network
コマンドで使用する CloudFormation テンプレートを作成し、カスタマイズできます。デフォルトの VPC テンプレートの詳細は、このセクションの関連情報を参照してください。
前提条件
- AWS アカウントを設定した。
- Red Hat アカウントを設定した。
- ROSA CLI をインストールし、最新バージョンに設定した。
検証
完了すると、作成されたリソースの概要が表示されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
サブネットへのタグ付け
VPC を使用して Red Hat OpenShift Service on AWS クラスターを作成する前に、VPC サブネットにタグを付ける必要があります。自動化されたサービス事前チェックにより、これらのリソースが正しくタグ付けされているかどうかが検証されます。次の表は、リソースにタグを付ける方法を示しています。
リソース | キー | 値 |
---|---|---|
パブリックサブネット |
|
|
プライベートサブネット |
|
|
該当する場合は、少なくとも 1 つのプライベートサブネットと 1 つのパブリックサブネットにタグを付ける必要があります。
ターミナルでリソースにタグを付けます。
パブリックサブネットの場合は、次のコマンドを実行します。
aws ec2 create-tags --resources <public_subnet_id> --region <aws_region> --tags Key=kubernetes.io/role/elb,Value=1
$ aws ec2 create-tags --resources <public_subnet_id> --region <aws_region> --tags Key=kubernetes.io/role/elb,Value=1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow プライベートサブネットの場合は、次のコマンドを実行します。
aws ec2 create-tags --resources <private_subnet_id> --region <aws_region> --tags Key=kubernetes.io/role/internal-elb,Value=1
$ aws ec2 create-tags --resources <private_subnet_id> --region <aws_region> --tags Key=kubernetes.io/role/internal-elb,Value=1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、タグが正しいことを確認します。
aws ec2 describe-tags --filters "Name=resource-id,Values=<subnet_id>"
$ aws ec2 describe-tags --filters "Name=resource-id,Values=<subnet_id>"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
TAGS Name <subnet_id> subnet <prefix>-subnet-public1-us-east-1a TAGS kubernetes.io/role/elb <subnet_id> subnet 1
TAGS Name <subnet_id> subnet <prefix>-subnet-public1-us-east-1a TAGS kubernetes.io/role/elb <subnet_id> subnet 1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.2.2. Terraform を使用した Virtual Private Cloud の作成 リンクのコピーリンクがクリップボードにコピーされました!
Terraform は、確立されたテンプレートを使用してさまざまなリソースを作成できるツールです。次のプロセスでは、必要に応じてデフォルトのオプションを使用して Red Hat OpenShift Service on AWS クラスターを作成します。Terraform の使用の詳細は、関連情報を参照してください。
Terraform の手順はテストとデモンストレーションを目的としています。独自のインストールでは、独自に使用するために VPC にいくつかの変更を加える必要があります。また、この Terraform スクリプトを使用する場合は、クラスターをインストールする予定のリージョンと同じリージョン内にスクリプトがあることを確認してください。この例では、us-east-2
を使用します。
前提条件
- マシンに Terraform バージョン 1.4.0 以降がインストールされている。
- マシンに Git がインストールされている。
手順
シェルプロンプトを開き、次のコマンドを実行して Terraform VPC リポジトリーのクローンを作成します。
git clone https://github.com/openshift-cs/terraform-vpc-example
$ git clone https://github.com/openshift-cs/terraform-vpc-example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、作成したディレクトリーに移動します。
cd terraform-vpc-example/zero-egress
$ cd terraform-vpc-example/zero-egress
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Terraform ファイルを開始します。
terraform init
$ terraform init
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このプロセスが完了すると、初期化を確認するメッセージが表示されます。
既存の Terraform テンプレートに基づいて VPC Terraform プランを構築するには、
plan
コマンドを実行します。AWS リージョン、アベイラビリティーゾーン、CIDR ブロック、プライベートサブネットを含める必要があります。クラスター名を指定することもできます。terraform plan
が完了すると、rosa-zero-egress.tfplan
ファイルがhypershift-tf
ディレクトリーに追加されます。オプションの詳細は、Terraform VPC リポジトリーの README ファイル を参照してください。terraform plan -out rosa-zero-egress.tfplan -var region=<aws_region> \ -var 'availability_zones=["aws_region_1a","aws_region_1b","aws_region_1c"]'\ -var vpc_cidr_block=10.0.0.0/16 \ -var 'private_subnets=["10.0.0.0/24", "10.0.1.0/24", "10.0.2.0/24"]'
$ terraform plan -out rosa-zero-egress.tfplan -var region=<aws_region> \
1 -var 'availability_zones=["aws_region_1a","aws_region_1b","aws_region_1c"]'\
2 -var vpc_cidr_block=10.0.0.0/16 \
3 -var 'private_subnets=["10.0.0.0/24", "10.0.1.0/24", "10.0.2.0/24"]'
4 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、このプランファイルを適用して VPC を構築します。
terraform apply rosa-zero-egress.tfplan
$ terraform apply rosa-zero-egress.tfplan
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
サブネットへのタグ付け
VPC を使用して Red Hat OpenShift Service on AWS クラスターを作成する前に、VPC サブネットにタグを付ける必要があります。自動化されたサービス事前チェックにより、これらのリソースが正しくタグ付けされているかどうかが検証されます。次の表は、リソースにタグを付ける方法を示しています。
リソース | キー | 値 |
---|---|---|
パブリックサブネット |
|
|
プライベートサブネット |
|
|
該当する場合は、少なくとも 1 つのプライベートサブネットと 1 つのパブリックサブネットにタグを付ける必要があります。
ターミナルでリソースにタグを付けます。
パブリックサブネットの場合は、次のコマンドを実行します。
aws ec2 create-tags --resources <public_subnet_id> --region <aws_region> --tags Key=kubernetes.io/role/elb,Value=1
$ aws ec2 create-tags --resources <public_subnet_id> --region <aws_region> --tags Key=kubernetes.io/role/elb,Value=1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow プライベートサブネットの場合は、次のコマンドを実行します。
aws ec2 create-tags --resources <private_subnet_id> --region <aws_region> --tags Key=kubernetes.io/role/internal-elb,Value=1
$ aws ec2 create-tags --resources <private_subnet_id> --region <aws_region> --tags Key=kubernetes.io/role/internal-elb,Value=1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、タグが正しいことを確認します。
aws ec2 describe-tags --filters "Name=resource-id,Values=<subnet_id>"
$ aws ec2 describe-tags --filters "Name=resource-id,Values=<subnet_id>"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
TAGS Name <subnet_id> subnet <prefix>-subnet-public1-us-east-1a TAGS kubernetes.io/role/elb <subnet_id> subnet 1
TAGS Name <subnet_id> subnet <prefix>-subnet-public1-us-east-1a TAGS kubernetes.io/role/elb <subnet_id> subnet 1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.2.3. AWS CLI を使用した VPC の作成 リンクのコピーリンクがクリップボードにコピーされました!
AWS CLI を使用して VPC を作成できます。この CLI の使用方法は、AWS create-vpc のドキュメント を参照してください。
7.2.4. AWS Virtual Private Cloud の手動作成 リンクのコピーリンクがクリップボードにコピーされました!
Terraform を使用する代わりに、AWS Virtual Private Cloud (VPC) を手動で作成することを選択した場合は、AWS コンソールの VPC ページ に移動します。
VPC は、次の表に示す要件を満たしている必要があります。
要件 | 詳細 |
---|---|
VPC 名 | クラスターを作成するときは、特定の VPC 名と ID が必要です。 |
CIDR 範囲 | VPC CIDR 範囲はマシンの CIDR と一致する必要があります。 |
アベイラビリティーゾーン | 単一ゾーンの場合は 1 つの可用性ゾーンが必要で、複数ゾーンの場合は 3 つの可用性ゾーンが必要です。 |
パブリックサブネット | パブリッククラスターには、NAT ゲートウェイを備えたパブリックサブネットが 1 つ必要です。プライベートクラスターにはパブリックサブネットは必要ありません。 |
DNS ホスト名と解決 | DNS ホスト名と解決が有効になっていることを確認する必要があります。 |
サブネットへのタグ付け
VPC を使用して Red Hat OpenShift Service on AWS クラスターを作成する前に、VPC サブネットにタグを付ける必要があります。自動化されたサービス事前チェックにより、これらのリソースが正しくタグ付けされているかどうかが検証されます。次の表は、リソースにタグを付ける方法を示しています。
リソース | キー | 値 |
---|---|---|
パブリックサブネット |
|
|
プライベートサブネット |
|
|
該当する場合は、少なくとも 1 つのプライベートサブネットと 1 つのパブリックサブネットにタグを付ける必要があります。
ターミナルでリソースにタグを付けます。
パブリックサブネットの場合は、次のコマンドを実行します。
aws ec2 create-tags --resources <public_subnet_id> --region <aws_region> --tags Key=kubernetes.io/role/elb,Value=1
$ aws ec2 create-tags --resources <public_subnet_id> --region <aws_region> --tags Key=kubernetes.io/role/elb,Value=1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow プライベートサブネットの場合は、次のコマンドを実行します。
aws ec2 create-tags --resources <private_subnet_id> --region <aws_region> --tags Key=kubernetes.io/role/internal-elb,Value=1
$ aws ec2 create-tags --resources <private_subnet_id> --region <aws_region> --tags Key=kubernetes.io/role/internal-elb,Value=1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、タグが正しいことを確認します。
aws ec2 describe-tags --filters "Name=resource-id,Values=<subnet_id>"
$ aws ec2 describe-tags --filters "Name=resource-id,Values=<subnet_id>"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
TAGS Name <subnet_id> subnet <prefix>-subnet-public1-us-east-1a TAGS kubernetes.io/role/elb <subnet_id> subnet 1
TAGS Name <subnet_id> subnet <prefix>-subnet-public1-us-east-1a TAGS kubernetes.io/role/elb <subnet_id> subnet 1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.3. アカウント全体の STS ロールおよびポリシーの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターを作成する前に、必要なアカウント全体のロールとポリシーを作成する必要があります。
Red Hat OpenShift Service on AWS の特定の AWS 管理ポリシーを各ロールに添付する必要があります。これらの必要なアカウントロールには、顧客管理のポリシーを使用しないでください。Red Hat OpenShift Service on AWS クラスターの AWS 管理ポリシーの詳細は、ROSA の AWS 管理ポリシーを 参照してください。
前提条件
- Red Hat OpenShift Service on AWS の AWS 前提条件を完了している。
- 利用可能な AWS サービスクォータがある。
- AWS コンソールで Red Hat OpenShift Service on AWS を有効にしました。
-
インストールホストに最新の ROSA CLI (
rosa
) をインストールして設定した。 - ROSA CLI を使用して Red Hat アカウントにログインしている。
手順
AWS アカウントに存在しない場合は、次のコマンドを実行して、必要なアカウント全体の STS ロールを作成し、ポリシーをアタッチします。
rosa create account-roles --hosted-cp
$ rosa create account-roles --hosted-cp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、ワーカーロールに正しい AWS ポリシーがあることを確認します。
aws iam attach-role-policy \ --role-name ManagedOpenShift-HCP-ROSA-Worker-Role \ --policy-arn "arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly"
$ aws iam attach-role-policy \ --role-name ManagedOpenShift-HCP-ROSA-Worker-Role \
1 --policy-arn "arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- このロールに、前のステップで作成された接頭辞が含まれている必要があります。
オプション: 次のコマンドを実行して、接頭辞を環境変数として設定します。
export ACCOUNT_ROLES_PREFIX=<account_role_prefix>
$ export ACCOUNT_ROLES_PREFIX=<account_role_prefix>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、変数の値を表示します。
echo $ACCOUNT_ROLES_PREFIX
$ echo $ACCOUNT_ROLES_PREFIX
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
ManagedOpenShift
ManagedOpenShift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Red Hat OpenShift Service on AWS の AWS 管理 IAM ポリシーの詳細は、ROSA の AWS 管理 IAM ポリシー を参照してください。
7.4. OpenID Connect 設定の作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターを作成するときに、クラスターを作成する前に OpenID Connect (OIDC) 設定を作成できます。この設定は、OpenShift Cluster Manager で使用するために登録されています。
前提条件
- Red Hat OpenShift Service on AWS の AWS 前提条件を完了している。
-
インストールホストに最新の ROSA CLI
rosa
をインストールして設定した。
手順
AWS リソースと一緒に OIDC 設定を作成するには、次のコマンドを実行します。
rosa create oidc-config --mode=auto --yes
$ rosa create oidc-config --mode=auto --yes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは次の情報を返します。
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターを作成するときは、OIDC 設定 ID を指定する必要があります。CLI 出力では、
--mode auto
のこの値が提供されます。それ以外の場合は、--mode manual
のaws
CLI 出力に基づいてこれらの値を決定する必要があります。オプション: OIDC 設定 ID を変数として保存して、後で使用できます。次のコマンドを実行して変数を保存します。
export OIDC_ID=<oidc_config_id>
$ export OIDC_ID=<oidc_config_id>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 上記の出力例では、OIDC 設定 ID は 13cdr6b です。
次のコマンドを実行して、変数の値を表示します。
echo $OIDC_ID
$ echo $OIDC_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
13cdr6b
13cdr6b
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
ユーザー組織に関連付けられているクラスターで使用できる可能な OIDC 設定をリストできます。以下のコマンドを実行します。
rosa list oidc-config
$ rosa list oidc-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
ID MANAGED ISSUER URL SECRET ARN 2330dbs0n8m3chkkr25gkkcd8pnj3lk2 true https://dvbwgdztaeq9o.cloudfront.net/2330dbs0n8m3chkkr25gkkcd8pnj3lk2 233hvnrjoqu14jltk6lhbhf2tj11f8un false https://oidc-r7u1.s3.us-east-1.amazonaws.com aws:secretsmanager:us-east-1:242819244:secret:rosa-private-key-oidc-r7u1-tM3MDN
ID MANAGED ISSUER URL SECRET ARN 2330dbs0n8m3chkkr25gkkcd8pnj3lk2 true https://dvbwgdztaeq9o.cloudfront.net/2330dbs0n8m3chkkr25gkkcd8pnj3lk2 233hvnrjoqu14jltk6lhbhf2tj11f8un false https://oidc-r7u1.s3.us-east-1.amazonaws.com aws:secretsmanager:us-east-1:242819244:secret:rosa-private-key-oidc-r7u1-tM3MDN
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.5. Operator のロールとポリシーの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターをデプロイするときは、Operator IAM ロールを作成する必要があります。クラスター Operator は、Operator のロールとポリシーを使用して、バックエンドストレージの管理やクラスターへの外部アクセスなどのクラスター操作を実行するために必要な一時的な権限を取得します。
前提条件
- Red Hat OpenShift Service on AWS の AWS 前提条件を完了している。
-
インストールホストに最新の ROSA CLI (
rosa
) をインストールして設定した。 - アカウント全体の AWS ロールを作成した。
手順
Operator ロールを作成するには、次のコマンドを実行します。
rosa create operator-roles --hosted-cp --prefix=$OPERATOR_ROLES_PREFIX --oidc-config-id=$OIDC_ID --installer-role-arn arn:aws:iam::$AWS_ACCOUNT_ID:role/${ACCOUNT_ROLES_PREFIX}-HCP-ROSA-Installer-Role
$ rosa create operator-roles --hosted-cp --prefix=$OPERATOR_ROLES_PREFIX --oidc-config-id=$OIDC_ID --installer-role-arn arn:aws:iam::$AWS_ACCOUNT_ID:role/${ACCOUNT_ROLES_PREFIX}-HCP-ROSA-Installer-Role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次の内訳は、Operator ロール作成のオプションを示しています。
rosa create operator-roles --hosted-cp
$ rosa create operator-roles --hosted-cp --prefix=$OPERATOR_ROLES_PREFIX
1 --oidc-config-id=$OIDC_ID
2 --installer-role-arn arn:aws:iam::$AWS_ACCOUNT_ID:role/$ACCOUNT_ROLES_PREFIX-HCP-ROSA-Installer-Role
3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat OpenShift Service on AWS クラスターに正しいロールを作成するには、
--hosted-cp
パラメーターを含める必要があります。このコマンドは次の情報を返します。出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Operator ロールが作成され、Red Hat OpenShift Service on AWS クラスターの作成に使用する準備が整いました。
検証
Red Hat OpenShift Service on AWS に関連付けられている Operator ロールをリスト表示できます。以下のコマンドを実行します。
rosa list operator-roles
$ rosa list operator-roles
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- コマンドを実行すると、AWS アカウントに関連付けられているすべての接頭辞が表示され、この接頭辞に関連付けられているロールの数が記録されます。これらのロールとその詳細をすべて表示する必要がある場合は、詳細プロンプトで "Yes" と入力すると、これらのロールが詳細とともにリストされます。
7.6. CLI を使用して Egress ゼロの Red Hat OpenShift Service on AWS クラスターを作成する リンクのコピーリンクがクリップボードにコピーされました!
ROSA CLI (rosa
) を使用してクラスターを作成する場合、デフォルトのオプションを選択してクラスターをすばやく作成できます。
前提条件
- Red Hat OpenShift Service on AWS の AWS 前提条件を完了している。
- 利用可能な AWS サービスクォータがある。
- AWS コンソールで Red Hat OpenShift Service on AWS を有効にしました。
-
インストールホストに最新の ROSA CLI (
rosa
) をインストールして設定した。現在インストールされている ROSA CLI のバージョンを確認するには、rosa version
を実行します。新しいバージョンが利用可能な場合、CLI はこのアップグレードをダウンロードするためのリンクを提供します。 - ROSA CLI を使用して Red Hat アカウントにログインしている。
- OIDC 設定を作成した。
- AWS Elastic Load Balancing (ELB) サービスロールが AWS アカウントに存在することを確認した。
手順
Red Hat OpenShift Service on AWS クラスターを作成するには、次のいずれかのコマンドを使用します。
注記Red Hat OpenShift Service on AWS クラスターを作成する場合、デフォルトのマシン Classless Inter-Domain Routing (CIDR) は
10.0.0.0/16
です。これが VPC サブネットの CIDR 範囲に対応していない場合は、次のコマンドに--machine-cidr <address_block>
を追加します。Red Hat OpenShift Service on AWS のデフォルト CIDR 範囲の詳細は、「CIDR 範囲の定義」を参照してください。環境変数を設定していない場合は、次のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- クラスターの名前を指定します。クラスター名が 15 文字を超える場合、openshiftapps.com でプロビジョニングされたクラスターのサブドメインとして自動生成されたドメイン接頭辞が含まれます。サブドメインをカスタマイズするには、
--domain-prefix
フラグを使用します。ドメイン接頭辞は 15 文字を超えてはならず、一意である必要があり、クラスターの作成後に変更できません。 - 2
- デフォルトでは、クラスター固有の Operator のロール名には、クラスター名とランダムな 4 桁のハッシュが接頭辞として付けられます。オプションで、ロール名の
<cluster_name>-<hash>
を置き換えるカスタム接頭辞を指定できます。接頭辞は、クラスター固有の Operator IAM ロールを作成するときに適用されます。接頭辞の詳細は、カスタム Operator IAM ロール接頭辞について を参照してください。注記関連するアカウント全体のロールを作成したときにカスタム ARN パスを指定した場合、カスタムパスは自動的に検出されます。カスタムパスは、後のステップで作成するときに、クラスター固有の Operator ロールに適用されます。
- 3
- 請求先アカウントがユーザーアカウントと異なる場合は、この引数を追加して、すべての請求を負担する AWS アカウントを指定します。
環境変数を設定する場合、単一の初期マシンプールを持ち、プライベートに利用可能な API および Ingress を使用する Egress ゼロのクラスターを作成するには、次のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
次のコマンドを実行して、クラスターのステータスを確認します。
rosa describe cluster --cluster=<cluster_name>
$ rosa describe cluster --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターのインストールが進むにつれて、
State
フィールドが次のように変わり、出力に表示されます。-
pending (Preparing account)
-
installing (DNS setup in progress)
-
installing
ready
注記インストールが失敗した場合や、
State
フィールドが 10 分以上ready
に変わらない場合は、インストールのトラブルシューティングのドキュメントで詳細を確認してください。詳細は、インストールのトラブルシューティング を参照してください。Red Hat サポートにサポートを依頼する手順は、Red Hat OpenShift Service on AWS のサポートの利用 を参照してください。
-
Red Hat OpenShift Service on AWS インストールプログラムのログを監視して、クラスターの作成の進行状況を追跡します。ログを確認するには、次のコマンドを実行します。
rosa logs install --cluster=<cluster_name> --watch \
$ rosa logs install --cluster=<cluster_name> --watch \
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- オプション: インストールの進行中に新しいログメッセージを監視するには、
--watch
引数を使用します。
第8章 外部 OIDC アイデンティティープロバイダーによる直接認証を使用する Red Hat OpenShift Service on AWS クラスターの作成 リンクのコピーリンクがクリップボードにコピーされました!
組み込みの OpenShift OAuth サーバーの代わりに、外部の OpenID Connect (OIDC) アイデンティティープロバイダーを使用して認証用のトークンを発行する Red Hat OpenShift Service on AWS クラスターを作成できます。組み込みの OpenShift OAuth サーバーは、外部 OIDC アイデンティティープロバイダーを含むさまざまなアイデンティティープロバイダーとの統合をサポートしていますが、OAuth サーバー自体の機能に制限されています。CLI などのマシン間ワークフローを容易にし、組み込みの OpenShift OAuth サーバーを使用するときには利用できない追加機能を提供するために、外部の OIDC アイデンティティープロバイダーを Red Hat OpenShift Service on AWS クラスターに直接統合できます。
既存の Red Hat OpenShift Service on AWS (クラシックアーキテクチャー) クラスターを Hosted Control Plane アーキテクチャーにアップグレードまたは変換することはできないため、Red Hat OpenShift Service on AWS 機能を使用するには新しいクラスターを作成する必要があります。また、外部認証プロバイダーを使用するように作成されたクラスターを、内部 OAuth2 サーバーを使用するように変換することもできません。新しいクラスターも作成する必要があります。
Red Hat OpenShift Service on AWS クラスターは、セキュリティートークンサービス (STS) 認証のみをサポートします。
関連資料
- Red Hat OpenShift Service on AWS と Red Hat OpenShift Service on AWS (クラシックアーキテクチャー) の比較については、アーキテクチャーモデルの比較 ドキュメントを参照してください。
- ROSA CLI を自動モードで使用して Red Hat OpenShift Service on AWS を開始する 方法については、AWS ドキュメントを参照してください。
関連情報
サポートされている証明書の完全なリストは、「Red Hat OpenShift Service on AWS のプロセスとセキュリティーについて」の コンプライアンス セクションを参照してください。
8.1. Red Hat OpenShift Service on AWS の前提条件 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターを作成するには、次の手順を完了する必要があります。
- 仮想プライベートクラウド (VPC) を設定している。
- アカウント全体のロール を作成した。
- OIDC 設定 を作成した。
- Operator ロール を作成した。
8.2. 外部 OIDC アイデンティティープロバイダーによる直接認証を使用する Red Hat OpenShift Service on AWS クラスターの作成 リンクのコピーリンクがクリップボードにコピーされました!
外部認証サービスを使用するクラスターを作成するには、ROSA CLI で --external-auth-providers-enabled
フラグを使用します。
Red Hat OpenShift Service on AWS クラスターを作成する場合、デフォルトのマシン Classless Inter-Domain Routing (CIDR) は 10.0.0.0/16
です。これが VPC サブネットの CIDR 範囲に対応していない場合は、次のコマンドに --machine-cidr <address_block>
を追加します。
手順
OIDC_ID
、SUBNET_IDS
、およびOPERATOR_ROLES_PREFIX
変数を使用して環境を準備した場合は、これらの変数をクラスターの作成時にも引き続き使用できます。たとえば、以下のコマンドを実行します。rosa create cluster --hosted-cp --subnet-ids=$SUBNET_IDS \ --oidc-config-id=$OIDC_ID --cluster-name=<cluster_name> \ --operator-roles-prefix=$OPERATOR_ROLES_PREFIX \ --external-auth-providers-enabled
$ rosa create cluster --hosted-cp --subnet-ids=$SUBNET_IDS \ --oidc-config-id=$OIDC_ID --cluster-name=<cluster_name> \ --operator-roles-prefix=$OPERATOR_ROLES_PREFIX \ --external-auth-providers-enabled
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 環境変数を設定していない場合は、以下のコマンドを実行します。
rosa create cluster --cluster-name=<cluster_name> --sts --mode=auto \ --hosted-cp --operator-roles-prefix <operator-role-prefix> \ --oidc-config-id <ID-of-OIDC-configuration> \ --external-auth-providers-enabled \ --subnet-ids=<public-subnet-id>,<private-subnet-id>
$ rosa create cluster --cluster-name=<cluster_name> --sts --mode=auto \ --hosted-cp --operator-roles-prefix <operator-role-prefix> \ --oidc-config-id <ID-of-OIDC-configuration> \ --external-auth-providers-enabled \ --subnet-ids=<public-subnet-id>,<private-subnet-id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、クラスターの詳細で外部認証が有効になっていることを確認します。
rosa describe cluster --cluster=<cluster_name>
$ rosa describe cluster --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
External Authentication
フラグが有効になり、外部認証プロバイダーを作成できるようになりました。
8.3. 外部認証プロバイダーの作成 リンクのコピーリンクがクリップボードにコピーされました!
外部認証プロバイダーのオプションを有効にして Red Hat OpenShift Service on AWS クラスターを作成した後、ROSA CLI を使用してプロバイダーを作成する必要があります。
ROSA CLI の rosa create|delete|list idp[s]
コマンドと同様に、rosa create external-auth-provider
を使用して作成した既存のアイデンティティープロバイダーを編集できません。代わりに、外部認証プロバイダーを削除して、新しい認証プロバイダーを作成する必要があります。
次の表は、外部認証プロバイダーを作成するときに使用できる CLI フラグを示しています。
CLI フラグ | 説明 |
---|---|
| クラスターの名前または ID。 |
| 外部認証プロバイダーを参照するために使用される名前。 |
| この文字列は、アカウントをアプリケーションに関連付けるために使用されるクライアントシークレット。クライアントシークレットを含めない場合、このコマンドはパブリック OIDC OAuthClient を使用します。 |
| これは、トークンオーディエンスのコンマ区切りリストです。 |
| トークン発行者の URL。 |
| クラスターアイデンティティーのユーザー名を構築するために使用されるクレームの名前。 |
| クラスターアイデンティティーのグループー名を構築するために使用されるクレームの名前。 |
手順
対話型コマンドラインインターフェイスを使用するには、次のコマンドを実行します。
入力の例
rosa create external-auth-provider -c <cluster_name>
$ rosa create external-auth-provider -c <cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 外部認証プロバイダーの名前。この名前は、数字とダッシュが含まれる小文字である必要があります。
- 2
- この認証プロバイダーがトークンを発行するオーディエンス ID。
- 3
- トークンを提供する発行者の URL。
- 4
- オプション: リクエストを行うときに使用する証明書ファイル。
- 5
メール
の使用など、クラスターアイデンティティーのユーザー名を構築するために使用されるクレームの名前。- 6
グループ
の使用など、ID トークンをクラスターアイデンティティーに変換する方法。- 7
- オプション: ユーザーを認証するトークンクレームを検証するのに役立つルール。このフィールドは、
:<required_value>
の形式にする必要があります。 - 8
- オプション: アプリ登録でコンソールに使用するアプリケーションまたはクライアント ID。
次のコマンドを使用して、外部認証プロバイダーを作成するために必要な ID を含めることができます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
I: Successfully created an external authentication provider for cluster 'ext-auth-test'
I: Successfully created an external authentication provider for cluster 'ext-auth-test'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.3.1. 外部認証プロバイダーの例 リンクのコピーリンクがクリップボードにコピーされました!
次のいずれかの外部認証プロバイダー設定例を使用して、独自の設定を指定できます。
Microsoft Entra ID の設定例
Microsoft Entra ID を外部プロバイダーとして使用できます。外部プロバイダーとして使用する前に、Microsoft Entra ID サーバーをあらかじめ設定しておく必要があります。詳細は、Microsoft Entra ID のドキュメント を参照してください。
次の例は、設定された Microsoft Entra ID 外部認証プロバイダーを示しています。
手順
次のコマンドを実行して、Microsoft Entra ID を使用する外部認証プロバイダーを作成します。
注記お使いの Microsoft Entra ID サーバー固有の値を使用して独自の環境変数を設定する必要があります。
入力の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
I: Successfully created an external authentication provider for cluster 'ext-auth-test'. It can take a few minutes for the creation of an external authentication provider to become fully effective.
I: Successfully created an external authentication provider for cluster 'ext-auth-test'. It can take a few minutes for the creation of an external authentication provider to become fully effective.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターの外部認証プロバイダーをリスト表示して発行者 URL を確認するか、
rosa describe
コマンドを使用して、この外部認証プロバイダーに関連するすべての詳細を確認します。次のコマンドを実行して、指定したクラスターの外部認証設定をリスト表示します。
入力の例
rosa list external-auth-provider -c <cluster_name> \
$ rosa list external-auth-provider -c <cluster_name> \
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 表示する外部認証プロバイダーのクラスターの名前を指定します。
出力例
NAME ISSUER URL m-entra-id https://login.microsoftonline.com/<group_id>/v2.0
NAME ISSUER URL m-entra-id https://login.microsoftonline.com/<group_id>/v2.0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、指定したクラスターの外部認証設定を表示します。
入力の例
rosa describe external-auth-provider \ -c <cluster_name> --name <name_of_external_authentication> \
$ rosa describe external-auth-provider \ -c <cluster_name> --name <name_of_external_authentication> \
1 2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Keycloak の設定例
Keycloak を外部プロバイダーとして使用できます。外部プロバイダーとして使用する前に、Keycloak サーバーをあらかじめ設定しておく必要があります。詳細は、Keycloak のドキュメント を参照してください。
手順
次のコマンドを実行して、Keycloak を使用する外部認証プロバイダーを作成します。
注記お使いの Keycloak サーバー固有の値を使用して独自の環境変数を設定する必要があります。
入力の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
I: Successfully created an external authentication provider for cluster 'ext-auth-test'. It can take a few minutes for the creation of an external authentication provider to become fully effective.
I: Successfully created an external authentication provider for cluster 'ext-auth-test'. It can take a few minutes for the creation of an external authentication provider to become fully effective.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターの外部認証プロバイダーをリスト表示して発行者 URL を確認するか、
rosa describe
コマンドを使用して、この外部認証プロバイダーに関連するすべての詳細を確認します。次のコマンドを実行して、指定したクラスターの外部認証設定をリスト表示します。
入力の例
rosa list external-auth-provider -c <cluster_name>
$ rosa list external-auth-provider -c <cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME ISSUER URL keycloak https://keycloak-keycloak.apps.<keycloak_id>.openshift.org/realms/master
NAME ISSUER URL keycloak https://keycloak-keycloak.apps.<keycloak_id>.openshift.org/realms/master
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、指定したクラスターの外部認証設定を表示します。
入力の例
rosa describe external-auth-provider \ -c <cluster_name> --name <name_of_external_authentication>
$ rosa describe external-auth-provider \ -c <cluster_name> --name <name_of_external_authentication>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.4. Red Hat OpenShift Service on AWS クラスターの Break Glass 認証情報を作成する リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターの所有者は、ブレークグラス認証情報を使用して一時的な管理クライアント認証情報を作成し、カスタム OpenID Connect (OIDC) トークン発行者が設定されたクラスターにアクセスできます。Break Glass 認証情報を作成すると、新しい cluster-admin kubeconfig
ファイルが生成されます。kubeconfig
ファイルには、CLI がクライアントを正しいクラスターと API サーバーに接続するために使用するクラスターに関する情報が含まれています。新しく生成された kubeconfig
ファイルを使用して、Red Hat OpenShift Service on AWS クラスターへのアクセスを許可できます。
前提条件
- 外部認証を有効にした Red Hat OpenShift Service on AWS クラスターを作成しました。詳細は、外部認証プロバイダーを使用する HCP クラスターを使用した Red Hat OpenShift Service on AWS の作成を 参照してください。
- 外部認証プロバイダーが作成されている。詳細は、外部認証プロバイダーの作成 を参照してください。
-
cluster admin
権限が割り当てられたアカウントがある。
手順
次のいずれかのコマンドを使用して、Break Glass 認証情報を作成します。
対話型コマンドインターフェイスを使用してカスタム設定を対話的に指定し、ブレークグラス認証情報を作成するには、次のコマンドを実行します。
rosa create break-glass-credential -c <cluster_name> -i
$ rosa create break-glass-credential -c <cluster_name> -i
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- <cluster_name> は、クラスターの名前に置き換えます。
このコマンドは、対話型 CLI プロセスを開始します。
出力例
I: Enabling interactive mode ? Username (optional): ? Expiration duration (optional): I: Successfully created a break glass credential for cluster 'ac-hcp-test'.
I: Enabling interactive mode ? Username (optional):
1 ? Expiration duration (optional):
2 I: Successfully created a break glass credential for cluster 'ac-hcp-test'.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 指定された値を使用して、
mycluster
というクラスターの Break Glass 認証情報を作成するには以下を実行します。rosa create break-glass-credential -c mycluster --username test-username --expiration 1h
$ rosa create break-glass-credential -c mycluster --username test-username --expiration 1h
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
次のコマンドを実行して、
mycluster
というクラスターで使用可能な Break Glass 認証情報 ID、ステータス、および関連ユーザーをリスト表示します。rosa list break-glass-credential -c mycluster
$ rosa list break-glass-credential -c mycluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
ID USERNAME STATUS 2a7jli9n4phe6c02ul7ti91djtv2o51d test-user issued
ID USERNAME STATUS 2a7jli9n4phe6c02ul7ti91djtv2o51d test-user issued
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記コマンドに
-o json
引数を追加することで、JSON 出力で認証情報を表示することもできます。break glass 認証情報のステータスを表示するには、<break_glass_credential_id> をブレークグラス認証情報 ID に置き換えて、次のコマンドを実行します。
rosa describe break-glass-credential <break_glass_credential_id> -c <cluster_name>
$ rosa describe break-glass-credential <break_glass_credential_id> -c <cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
ID: 2a7jli9n4phe6c02ul7ti91djtv2o51d Username: test-user Expire at: Dec 28 2026 10:23:05 EDT Status: issued
ID: 2a7jli9n4phe6c02ul7ti91djtv2o51d Username: test-user Expire at: Dec 28 2026 10:23:05 EDT Status: issued
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Status
フィールドで使用可能な値のリストは次のとおりです。-
issued
break glass 認証情報が発行され、使用できる状態になりました。 -
expired
ブレークグラス認証情報の有効期限が切れているため、使用できなくなりました。 -
failed
ブレークグラス認証情報の作成に失敗しました。この場合、失敗の詳細を示すサービスログが送信されます。サービスログの詳細は、Red Hat OpenShift Service on AWS クラスターのサービスログへのアクセス を参照してください。Red Hat サポートに問い合わせる手順は、サポート を参照してください。 -
awaiting_revocation
break glass 認証情報は現在取り消されているため、使用できません。 -
revoked
break glass 認証情報は取り消されており、使用できなくなりました。
-
kubeconfig
を取得するには、次のコマンドを実行します。kubeconfigs
ディレクトリーを作成します。mkdir ~/kubeconfigs
$ mkdir ~/kubeconfigs
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しく生成された
kubeconfig
ファイルをエクスポートします。<cluster_name> はクラスターの名前に置き換えます。export CLUSTER_NAME=<cluster_name> && export KUBECONFIG=~/kubeconfigs/break-glass-${CLUSTER_NAME}.kubeconfig
$ export CLUSTER_NAME=<cluster_name> && export KUBECONFIG=~/kubeconfigs/break-glass-${CLUSTER_NAME}.kubeconfig
Copy to Clipboard Copied! Toggle word wrap Toggle overflow kubeconfig
を表示します。rosa describe break-glass-credential <break_glass_credential_id> -c mycluster --kubeconfig
$ rosa describe break-glass-credential <break_glass_credential_id> -c mycluster --kubeconfig
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
オプション:
kubeconfig
を保存するには、次のコマンドを実行します。rosa describe break-glass-credential <break_glass_credential_id> -c mycluster --kubeconfig > $KUBECONFIG
$ rosa describe break-glass-credential <break_glass_credential_id> -c mycluster --kubeconfig > $KUBECONFIG
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.5. ブレークグラス認証情報を使用して Red Hat OpenShift Service on AWS クラスターにアクセスする リンクのコピーリンクがクリップボードにコピーされました!
ブレークグラス認証情報から新しい kubeconfig
を使用して、Red Hat OpenShift Service on AWS クラスターへの一時的な管理者アクセス権を取得します。
前提条件
- 外部認証が有効になっている Red Hat OpenShift Service on AWS クラスターにアクセスできます。詳細は、外部 OIDC アイデンティティープロバイダーによる直接認証を使用する Red Hat OpenShift Service on AWS クラスターの作成を 参照してください。
-
oc
およびkubectl
CLI がインストールされている。 -
新しい
kubeconfig
が設定されている。詳細は、Red Hat OpenShift Service on AWS クラスターの Break Glass 認証情報の作成を 参照してください。
手順
クラスターの詳細にアクセスします。
rosa describe break-glass-credential <break_glass_credential_id> -c <cluster_name> --kubeconfig > $KUBECONFIG
$ rosa describe break-glass-credential <break_glass_credential_id> -c <cluster_name> --kubeconfig > $KUBECONFIG
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターからノードを一覧表示します。
oc get nodes
$ oc get nodes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME STATUS ROLES AGE VERSION ip-10-0-0-27.ec2.internal Ready worker 8m v1.28.7+f1b5f6c ip-10-0-0-67.ec2.internal Ready worker 9m v1.28.7+f1b5f6c
NAME STATUS ROLES AGE VERSION ip-10-0-0-27.ec2.internal Ready worker 8m v1.28.7+f1b5f6c ip-10-0-0-67.ec2.internal Ready worker 9m v1.28.7+f1b5f6c
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 適切な認証情報があることを確認します。
kubectl auth whoami
$ kubectl auth whoami
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
ATTRIBUTE VALUE Username system:customer-break-glass:test-user Groups [system:masters system:authenticated]
ATTRIBUTE VALUE Username system:customer-break-glass:test-user Groups [system:masters system:authenticated]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 外部 OIDC プロバイダーで定義されたグループに
ClusterRoleBinding
を適用します。ClusterRoleBinding は
、Microsoft Entra ID で作成されたrosa-hcp-admins
グループを Red Hat OpenShift Service on AWS クラスター内のグループにマップします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
clusterrolebinding.rbac.authorization.k8s.io/rosa-hcp-admins created
clusterrolebinding.rbac.authorization.k8s.io/rosa-hcp-admins created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記ClusterRoleBinding
が適用されると、Red Hat OpenShift Service on AWS クラスターが設定され、rosa
CLI と Red Hat Hybrid Cloud Console が 外部の OpenID Connect (OIDC) プロバイダーを通じて認証されます。ロールの割り当てとクラスターでのアプリケーションのデプロイを開始できるようになりました。
8.6. Red Hat OpenShift Service on AWS クラスターの Break Glass 認証情報の取り消し リンクのコピーリンクがクリップボードにコピーされました!
revoke break-glass-credentials
コマンドを使用すると、プロビジョニングした Break Glass 認証情報へのアクセスをいつでも取り消すことができます。
前提条件
- break glass 認証情報が作成されている。
- クラスターの所有者である。
手順
次のコマンドを実行して、Red Hat OpenShift Service on AWS クラスターの Break Glass 認証情報を取り消します。
重要このコマンドを実行すると、クラスターに関連するすべての Break Glass 認証情報へのアクセスが取り消されます。
rosa revoke break-glass-credentials -c <cluster_name>
$ rosa revoke break-glass-credentials -c <cluster_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- <cluster_name> は、クラスターの名前に置き換えます。
出力例
? Are you sure you want to revoke all the break glass credentials on cluster 'my-cluster'?: Yes I: Successfully requested revocation for all break glass credentials from cluster 'my-cluster'
? Are you sure you want to revoke all the break glass credentials on cluster 'my-cluster'?: Yes I: Successfully requested revocation for all break glass credentials from cluster 'my-cluster'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
失効処理には数分かかる場合があります。次のいずれかのコマンドを実行すると、クラスターの Break Glass 認証情報が取り消されたことを確認できます。
すべての Break Glass 認証情報をリスト表示し、それぞれのステータスを確認します。
rosa list break-glass-credential -c <cluster_name>
$ rosa list break-glass-credential -c <cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
ID USERNAME STATUS 2330dbs0n8m3chkkr25gkkcd8pnj3lk2 test-user awaiting_revocation
ID USERNAME STATUS 2330dbs0n8m3chkkr25gkkcd8pnj3lk2 test-user awaiting_revocation
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 個々の認証情報をチェックしてステータスを確認することもできます。
rosa describe break-glass-credential <break_glass_credential_id> -c <cluster_name>
$ rosa describe break-glass-credential <break_glass_credential_id> -c <cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
ID: 2330dbs0n8m3chkkr25gkkcd8pnj3lk2 Username: test-user Expire at: Dec 28 2026 10:23:05 EDT Status: issued Revoked at: Dec 27 2026 15:30:33 EDT
ID: 2330dbs0n8m3chkkr25gkkcd8pnj3lk2 Username: test-user Expire at: Dec 28 2026 10:23:05 EDT Status: issued Revoked at: Dec 27 2026 15:30:33 EDT
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.7. 外部認証プロバイダーの削除 リンクのコピーリンクがクリップボードにコピーされました!
ROSA CLI を使用して外部認証プロバイダーを削除します。
手順
次のコマンドを実行して、クラスター上の外部認証プロバイダーを表示します。
rosa list external-auth-provider -c <cluster_name>
$ rosa list external-auth-provider -c <cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME ISSUER URL entra-test https://login.microsoftonline.com/<group_id>/v2.0
NAME ISSUER URL entra-test https://login.microsoftonline.com/<group_id>/v2.0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、外部認証プロバイダーを削除します。
rosa delete external-auth-provider <name_of_provider> -c <cluster_name>
$ rosa delete external-auth-provider <name_of_provider> -c <cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
? Are you sure you want to delete external authentication provider entra-test on cluster rosa-ext-test? Yes I: Successfully deleted external authentication provider 'entra-test' from cluster 'rosa-ext-test'
? Are you sure you want to delete external authentication provider entra-test on cluster rosa-ext-test? Yes I: Successfully deleted external authentication provider 'entra-test' from cluster 'rosa-ext-test'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、クラスター上の外部認証プロバイダーを照会します。
rosa list external-auth-provider -c <cluster_name>
$ rosa list external-auth-provider -c <cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
E: there are no external authentication providers for this cluster
E: there are no external authentication providers for this cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第9章 CNI プラグインなしの Red Hat OpenShift Service on AWS クラスター リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターを作成するときに、独自の Container Network Interface (CNI) プラグインを使用できます。CNI なしで Red Hat OpenShift Service on AWS クラスターを作成し、クラスターの作成後に独自の CNI プラグインをインストールすることができます。
独自の CNI を使用する場合、CNI プラグインのサポートの責任は、選択した CNI ベンダーとの連携のもと、お客様が負うことになります。
Red Hat OpenShift Service on AWS のデフォルトプラグインは、OVN-Kubernetes ネットワークプラグインです。このプラグインは、Red Hat OpenShift Service on AWS で Red Hat がサポートする唯一の CNI プラグインです。
Red Hat OpenShift Service on AWS クラスターに独自の CNI を使用することを選択した場合は、クラスターを作成する前にプラグインベンダーから商用サポートを受けることを強く推奨します。Red Hat サポートは、独自の CNI を使用することを選択したお客様に、Pod 間トラフィックなどの CNI 関連の問題に関するサポートを提供できません。CNI 以外のすべての問題は、Red Hat は引き続きサポートを提供します。Red Hat からの CNI 関連のサポートが必要な場合は、デフォルトの OVN-Kubernetes ネットワークプラグインを使用してクラスターをインストールする必要があります。詳細は、責任マトリックス を参照してください。
9.1. CNI プラグインなしで Red Hat OpenShift Service on AWS クラスターを作成する リンクのコピーリンクがクリップボードにコピーされました!
9.1.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- AWS の前提条件 が完了していることを確認してください。
- Virtual Private Cloud (VPC) が設定されていることを確認する。
9.1.2. アカウント全体の STS ロールおよびポリシーの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターを作成する前に、必要なアカウント全体のロールとポリシーを作成する必要があります。
Red Hat OpenShift Service on AWS の特定の AWS 管理ポリシーを各ロールに添付する必要があります。これらの必要なアカウントロールには、顧客管理のポリシーを使用しないでください。Red Hat OpenShift Service on AWS クラスターの AWS 管理ポリシーの詳細は、ROSA の AWS 管理ポリシーを 参照してください。
前提条件
- Red Hat OpenShift Service on AWS の AWS 前提条件を完了している。
- 利用可能な AWS サービスクォータがある。
- AWS コンソールで Red Hat OpenShift Service on AWS を有効にしました。
-
インストールホストに最新の ROSA CLI (
rosa
) をインストールして設定した。 - ROSA CLI を使用して Red Hat アカウントにログインしている。
手順
AWS アカウントに存在しない場合は、次のコマンドを実行して、必要なアカウント全体の STS ロールを作成し、ポリシーをアタッチします。
rosa create account-roles --hosted-cp
$ rosa create account-roles --hosted-cp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: 次のコマンドを実行して、接頭辞を環境変数として設定します。
export ACCOUNT_ROLES_PREFIX=<account_role_prefix>
$ export ACCOUNT_ROLES_PREFIX=<account_role_prefix>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、変数の値を表示します。
echo $ACCOUNT_ROLES_PREFIX
$ echo $ACCOUNT_ROLES_PREFIX
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
ManagedOpenShift
ManagedOpenShift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Red Hat OpenShift Service on AWS の AWS 管理 IAM ポリシーの詳細は、ROSA の AWS 管理 IAM ポリシー を参照してください。
9.1.3. OpenID Connect 設定の作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターを作成するときに、クラスターを作成する前に OpenID Connect (OIDC) 設定を作成できます。この設定は、OpenShift Cluster Manager で使用するために登録されています。
前提条件
- Red Hat OpenShift Service on AWS の AWS 前提条件を完了している。
-
インストールホストに最新の ROSA CLI
rosa
をインストールして設定した。
手順
AWS リソースと一緒に OIDC 設定を作成するには、次のコマンドを実行します。
rosa create oidc-config --mode=auto --yes
$ rosa create oidc-config --mode=auto --yes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは次の情報を返します。
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターを作成するときは、OIDC 設定 ID を指定する必要があります。CLI 出力では、
--mode auto
のこの値が提供されます。それ以外の場合は、--mode manual
のaws
CLI 出力に基づいてこれらの値を決定する必要があります。オプション: OIDC 設定 ID を変数として保存して、後で使用できます。次のコマンドを実行して変数を保存します。
export OIDC_ID=<oidc_config_id>
$ export OIDC_ID=<oidc_config_id>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 上記の出力例では、OIDC 設定 ID は 13cdr6b です。
次のコマンドを実行して、変数の値を表示します。
echo $OIDC_ID
$ echo $OIDC_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
13cdr6b
13cdr6b
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
ユーザー組織に関連付けられているクラスターで使用できる可能な OIDC 設定をリストできます。以下のコマンドを実行します。
rosa list oidc-config
$ rosa list oidc-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
ID MANAGED ISSUER URL SECRET ARN 2330dbs0n8m3chkkr25gkkcd8pnj3lk2 true https://dvbwgdztaeq9o.cloudfront.net/2330dbs0n8m3chkkr25gkkcd8pnj3lk2 233hvnrjoqu14jltk6lhbhf2tj11f8un false https://oidc-r7u1.s3.us-east-1.amazonaws.com aws:secretsmanager:us-east-1:242819244:secret:rosa-private-key-oidc-r7u1-tM3MDN
ID MANAGED ISSUER URL SECRET ARN 2330dbs0n8m3chkkr25gkkcd8pnj3lk2 true https://dvbwgdztaeq9o.cloudfront.net/2330dbs0n8m3chkkr25gkkcd8pnj3lk2 233hvnrjoqu14jltk6lhbhf2tj11f8un false https://oidc-r7u1.s3.us-east-1.amazonaws.com aws:secretsmanager:us-east-1:242819244:secret:rosa-private-key-oidc-r7u1-tM3MDN
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.1.4. Operator のロールとポリシーの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターをデプロイするときは、Operator IAM ロールを作成する必要があります。クラスター Operator は、Operator のロールとポリシーを使用して、バックエンドストレージの管理やクラスターへの外部アクセスなどのクラスター操作を実行するために必要な一時的な権限を取得します。
前提条件
- Red Hat OpenShift Service on AWS の AWS 前提条件を完了している。
-
インストールホストに最新の ROSA CLI (
rosa
) をインストールして設定した。 - アカウント全体の AWS ロールを作成した。
手順
Operator ロールを作成するには、次のコマンドを実行します。
rosa create operator-roles --hosted-cp --prefix=$OPERATOR_ROLES_PREFIX --oidc-config-id=$OIDC_ID --installer-role-arn arn:aws:iam::$AWS_ACCOUNT_ID:role/${ACCOUNT_ROLES_PREFIX}-HCP-ROSA-Installer-Role
$ rosa create operator-roles --hosted-cp --prefix=$OPERATOR_ROLES_PREFIX --oidc-config-id=$OIDC_ID --installer-role-arn arn:aws:iam::$AWS_ACCOUNT_ID:role/${ACCOUNT_ROLES_PREFIX}-HCP-ROSA-Installer-Role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次の内訳は、Operator ロール作成のオプションを示しています。
rosa create operator-roles --hosted-cp
$ rosa create operator-roles --hosted-cp --prefix=$OPERATOR_ROLES_PREFIX
1 --oidc-config-id=$OIDC_ID
2 --installer-role-arn arn:aws:iam::$AWS_ACCOUNT_ID:role/$ACCOUNT_ROLES_PREFIX-HCP-ROSA-Installer-Role
3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat OpenShift Service on AWS クラスターに正しいロールを作成するには、
--hosted-cp
パラメーターを含める必要があります。このコマンドは次の情報を返します。出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Operator ロールが作成され、Red Hat OpenShift Service on AWS クラスターの作成に使用する準備が整いました。
検証
Red Hat OpenShift Service on AWS に関連付けられている Operator ロールをリスト表示できます。以下のコマンドを実行します。
rosa list operator-roles
$ rosa list operator-roles
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- コマンドを実行すると、AWS アカウントに関連付けられているすべての接頭辞が表示され、この接頭辞に関連付けられているロールの数が記録されます。これらのロールとその詳細をすべて表示する必要がある場合は、詳細プロンプトで "Yes" と入力すると、これらのロールが詳細とともにリストされます。
9.2. クラスターの作成 リンクのコピーリンクがクリップボードにコピーされました!
ROSA コマンドラインインターフェイス (CLI) rosa
を使用してクラスターを作成する場合、オプションのフラグ --no-cni
を追加して、CNI プラグインなしでクラスターを作成できます。
前提条件
- Red Hat OpenShift Service on AWS の AWS 前提条件を完了している。
- 利用可能な AWS サービスクォータがある。
- AWS コンソールで Red Hat OpenShift Service on AWS を有効にしました。
-
インストールホストに最新の ROSA CLI (
rosa
) をインストールして設定した。現在インストールされている ROSA CLI のバージョンを確認するには、rosa version
を実行します。新しいバージョンが利用可能な場合、CLI はこのアップグレードをダウンロードするためのリンクを提供します。 - ROSA CLI を使用して Red Hat アカウントにログインしている。
- OIDC 設定を作成した。
- AWS Elastic Load Balancing (ELB) サービスロールが AWS アカウントに存在することを確認した。
手順
次のいずれかのコマンドを使用して Red Hat OpenShift Service on AWS クラスターを作成できます。
注記Red Hat OpenShift Service on AWS クラスターを作成する場合、デフォルトのマシン Classless Inter-Domain Routing (CIDR) は
10.0.0.0/16
です。これが VPC サブネットの CIDR 範囲に対応していない場合は、次のコマンドに--machine-cidr <address_block>
を追加します。単一の初期マシンプール、パブリックに利用可能な API、およびパブリックに利用可能な Ingress を備え、CNI プラグインのないクラスターを作成するには、次のコマンドを実行します。
rosa create cluster --cluster-name=<cluster_name> \ --sts --mode=auto --hosted-cp --operator-roles-prefix <operator-role-prefix> \ --oidc-config-id <ID-of-OIDC-configuration> --subnet-ids=<public-subnet-id>,<private-subnet-id> --no-cni
$ rosa create cluster --cluster-name=<cluster_name> \ --sts --mode=auto --hosted-cp --operator-roles-prefix <operator-role-prefix> \ --oidc-config-id <ID-of-OIDC-configuration> --subnet-ids=<public-subnet-id>,<private-subnet-id> --no-cni
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 単一の初期マシンプール、プライベートに利用可能な API、およびプライベートに利用可能な Ingress を備え、CNI プラグインのないクラスターを作成するには、次のコマンドを実行します。
rosa create cluster --private --cluster-name=<cluster_name> \ --sts --mode=auto --hosted-cp --subnet-ids=<private-subnet-id> --no-cni
$ rosa create cluster --private --cluster-name=<cluster_name> \ --sts --mode=auto --hosted-cp --subnet-ids=<private-subnet-id> --no-cni
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OIDC_ID
、SUBNET_IDS
、およびOPERATOR_ROLES_PREFIX
変数を使用して環境を準備した場合は、CNI プラグインなしでクラスターを作成するときに、それらの変数を引き続き使用できます。たとえば、以下のコマンドを実行します。rosa create cluster --hosted-cp --subnet-ids=$SUBNET_IDS --oidc-config-id=$OIDC_ID --cluster-name=<cluster_name> --operator-roles-prefix=$OPERATOR_ROLES_PREFIX --no-cni
$ rosa create cluster --hosted-cp --subnet-ids=$SUBNET_IDS --oidc-config-id=$OIDC_ID --cluster-name=<cluster_name> --operator-roles-prefix=$OPERATOR_ROLES_PREFIX --no-cni
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
次のコマンドを実行して、クラスターのステータスを確認します。
rosa describe cluster --cluster=<cluster_name>
$ rosa describe cluster --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要クラスターが
ready
状態に達してから初めてログインする場合、独自の CNI プラグインをインストールするまで、ノードはnot ready
状態のままです。CNI のインストール後、ノードはready
に変わります。以下の
State
フィールドの変更は、クラスターインストールの進捗として出力に表示されます。-
pending (Preparing account)
-
installing (DNS setup in progress)
-
installing
ready
注記インストールが失敗した場合や、
State
フィールドが 10 分以上ready
に変わらない場合は、インストールのトラブルシューティングのドキュメントで詳細を確認してください。詳細は、インストールのトラブルシューティング を参照してください。Red Hat サポートにサポートを依頼する手順は、Red Hat OpenShift Service on AWS のサポートの利用 を参照してください。
-
Red Hat OpenShift Service on AWS インストールプログラムのログを監視して、クラスター作成の進行状況を追跡します。ログを確認するには、次のコマンドを実行します。
rosa logs install --cluster=<cluster_name> --watch
$ rosa logs install --cluster=<cluster_name> --watch
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- オプション: インストールの進行中に新しいログメッセージを監視するには、
--watch
引数を使用します。
9.2.1. CNI プラグインがないクラスターの予想される動作 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターのインストールは完了していますが、CNI プラグインがないとクラスターは動作しません。ノードが準備ができていないため、ワークロードをデプロイできません。たとえば、Red Hat OpenShift Service on AWS クラスターの Web コンソールを利用できないため、クラスターにログインするには OpenShift CLI (oc
) を使用する必要があります。さらに、HAProxy ベースの Ingress Controller、イメージレジストリー、Prometheus ベースのモニタリングスタックなど、その他の OpenShift コンポーネントが実行されていません。これは、CNI プロバイダーをインストールするまでの予想される動作です。
9.3. 次のステップ リンクのコピーリンクがクリップボードにコピーされました!
-
CNI プラグインをインストールします。その後、ノードが
not ready
状態からready
状態に変わります。
第10章 Red Hat OpenShift Service on AWS クラスターの削除 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターを削除する場合は、Red Hat OpenShift Cluster Manager または ROSA コマンドラインインターフェイス (CLI) (rosa
) のいずれかを使用できます。クラスターを削除した後、クラスターで使用されている AWS Identity and Access Management (IAM) リソースを削除することもできます。
10.1. Red Hat OpenShift Service on AWS クラスターとクラスター固有の IAM リソースを削除する リンクのコピーリンクがクリップボードにコピーされました!
ROSA CLI または Red Hat OpenShift Cluster Manager を使用して、Red Hat OpenShift Service on AWS クラスターを削除できます。
クラスターを削除した後、ROSA CLI を使用して、AWS アカウント内のクラスター固有のアイデンティティーおよびアクセス管理 (IAM) リソースを消去できます。クラスター固有のリソースには、Operator ロールと OpenID Connect (OIDC) プロバイダーが含まれます。
IAM リソースは、クラスターの削除およびクリーンアップのプロセスで使用されるため、クラスターの削除は、IAM リソースを削除する前に完了する必要があります。
アドオンがインストールされている場合、クラスターの削除前にアドオンをアンインストールするため、削除により多くの時間がかかります。所要時間は、アドオンの数とサイズによって異なります。
前提条件
- Red Hat OpenShift Service on AWS クラスターをインストールしました。
- インストールホストに、最新の ROSA CLI をインストールして設定している。
手順
次のコマンドを実行して、クラスター ID、クラスター固有の Operator ロールの Amazon リソース名 (ARN)、および OIDC プロバイダーのエンドポイント URL を取得します。
rosa describe cluster --cluster=<cluster_name>
$ rosa describe cluster --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要クラスターを削除した後、ROSA CLI を使用してクラスター固有の STS リソースを削除するには、クラスター ID が必要になります。
OpenShift Cluster Manager または ROSA CLI を使用してクラスターを削除します。
OpenShift Cluster Manager を使用してクラスターを削除するには、以下を実行します。
- OpenShift Cluster Manager に移動します。
-
クラスターの横にあるオプションメニュー
をクリックし、Delete cluster を選択します。
- プロンプトにクラスターの名前を入力し、Delete をクリックします。
ROSA CLI を使用してクラスターを削除するには:
次のコマンドを実行します。
<cluster_name>
は、クラスターの名前または ID に置き換えます。rosa delete cluster --cluster=<cluster_name> --watch
$ rosa delete cluster --cluster=<cluster_name> --watch
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要Operator ロールと OIDC プロバイダーを削除する前に、クラスターの削除が完了するまで待つ必要があります。
次のいずれかのコマンドを実行して、クラスター固有の Operator IAM ロールを削除します。
共有 Virtual Private Cloud (VPC) のないクラスターの場合:
rosa delete operator-roles --prefix <operator_role_prefix>
$ rosa delete operator-roles --prefix <operator_role_prefix>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 共有 VPC を持つクラスターの場合:
rosa delete operator-roles --prefix <operator_role_prefix> --delete-hosted-shared-vpc-policies
$ rosa delete operator-roles --prefix <operator_role_prefix> --delete-hosted-shared-vpc-policies
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
次のコマンドを実行して OIDC プロバイダーを削除します。
rosa delete oidc-provider --oidc-config-id <oidc_config_id>
$ rosa delete oidc-provider --oidc-config-id <oidc_config_id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
トラブルシューティング
- Hybrid Cloud Console で保留中のクラスターのアドオンがないことを確認します。
- Amazon Web Console で、すべての AWS リソースと依存関係が削除されていることを確認します。
10.2. アカウント全体の IAM リソースの削除 リンクのコピーリンクがクリップボードにコピーされました!
アカウント全体の AWS Identity and Access Management (IAM) リソースに依存するすべての Red Hat OpenShift Service on AWS クラスターを削除したら、アカウント全体のリソースを削除できます。
Red Hat OpenShift Cluster Manager を使用して Red Hat OpenShift Service on AWS クラスターをインストールする必要がなくなった場合は、OpenShift Cluster Manager とユーザーの IAM ロールを削除することもできます。
アカウント全体の IAM ロールとポリシーは、同じ AWS アカウント内の他の Red Hat OpenShift Service on AWS クラスターで使用される可能性があります。他のクラスターで必要でない場合にのみリソースを削除します。
OpenShift Cluster Manager を使用して同じ AWS アカウント内の他の Red Hat OpenShift Service on AWS クラスターをインストール、管理、および削除する場合は、OpenShift Cluster Manager とユーザーの IAM ロールが必要です。OpenShift Cluster Manager を使用してアカウントに Red Hat OpenShift Service on AWS クラスターをインストールする必要がなくなった場合にのみ、ロールを削除してください。削除前にこれらのロールが削除された場合にクラスターを修復する方法は、クラスターのデプロイメントのトラブルシューティング の「削除できないクラスターの修復」を参照してください。
10.2.1. アカウント全体の IAM ロールとポリシーの削除 リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、Red Hat OpenShift Service on AWS デプロイメント用に作成したアカウント全体の IAM ロールとポリシー、およびアカウント全体のオペレーターポリシーを削除する手順について説明します。アカウント全体の AWS Identity and Access Management (IAM) ロールとポリシーは、それらに依存するすべての Red Hat OpenShift Service on AWS クラスターを削除した後にのみ削除できます。
アカウント全体の IAM ロールとポリシーは、同じ AWS アカウント内の他の Red Hat OpenShift Service on AWS クラスターで使用される可能性があります。他のクラスターで必要とされていない場合に限り、ロールだけを削除します。
前提条件
- 削除するアカウント全体の IAM ロールがある。
-
インストールホストに最新の ROSA CLI (
rosa
) をインストールして設定した。
手順
アカウント全体のロールを削除します。
ROSA CLI (
rosa
) を使用して、AWS アカウントのアカウント全体のロールをリスト表示します。rosa list account-roles
$ rosa list account-roles
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
I: Fetching account roles ROLE NAME ROLE TYPE ROLE ARN OPENSHIFT VERSION AWS Managed ManagedOpenShift-HCP-ROSA-Installer-Role Installer arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-HCP-ROSA-Installer-Role 4.19 Yes ManagedOpenShift-HCP-ROSA-Support-Role Support arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-HCP-ROSA-Support-Role 4.19 Yes ManagedOpenShift-HCP-ROSA-Worker-Role Worker arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-HCP-ROSA-Worker-Role 4.19 Yes
I: Fetching account roles ROLE NAME ROLE TYPE ROLE ARN OPENSHIFT VERSION AWS Managed ManagedOpenShift-HCP-ROSA-Installer-Role Installer arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-HCP-ROSA-Installer-Role 4.19 Yes ManagedOpenShift-HCP-ROSA-Support-Role Support arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-HCP-ROSA-Support-Role 4.19 Yes ManagedOpenShift-HCP-ROSA-Worker-Role Worker arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-HCP-ROSA-Worker-Role 4.19 Yes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のいずれかのコマンドを実行して、アカウント全体のロールを削除します。
共有 Virtual Private Cloud (VPC) のないクラスターの場合:
rosa delete account-roles --prefix <prefix> --mode auto
$ rosa delete account-roles --prefix <prefix> --mode auto
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- その際、
--<prefix>
引数を含める必要があります。<prefix>
を削除するアカウント全体のロールの接頭辞に置き換えてください。アカウント全体のロールを作成したときにカスタム接頭辞を指定しなかった場合は、デフォルトの接頭辞であるManagedOpenShift
を指定します。
共有 VPC を持つクラスターの場合:
rosa delete account-roles --prefix <prefix> --delete-hosted-shared-vpc-policies --mode auto
$ rosa delete account-roles --prefix <prefix> --delete-hosted-shared-vpc-policies --mode auto
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- その際、
--<prefix>
引数を含める必要があります。<prefix>
を削除するアカウント全体のロールの接頭辞に置き換えてください。アカウント全体のロールを作成したときにカスタム接頭辞を指定しなかった場合は、デフォルトの接頭辞であるManagedOpenShift
を指定します。
重要アカウント全体の IAM ロールは、同じ AWS アカウント内の他の Red Hat OpenShift Service on AWS クラスターで使用される場合があります。他のクラスターで必要とされていない場合に限り、ロールだけを削除します。
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
アカウント全体のインラインポリシーと Operator ポリシーを削除します。
AWS IAM Console の Policies ページで、アカウント全体のロールとポリシーを作成したときに指定した接頭辞でポリシーのリストをフィルタリングします。
注記アカウント全体のロールを作成したときにカスタム接頭辞を指定しなかった場合は、デフォルトの接頭辞である
ManagedOpenShift
を検索します。AWS IAM コンソール を使用して、アカウント全体のポリシーと Operator ポリシーを削除します。AWS IAM コンソールを使用して IAM ポリシーを削除する方法の詳細は、AWS ドキュメントの IAM ポリシーの削除 を参照してください。
重要アカウント全体の IAM ポリシーと Operator IAM ポリシーは、同じ AWS アカウント内の他の Red Hat OpenShift Service on AWS クラスターで使用される場合があります。他のクラスターで必要とされていない場合に限り、ロールだけを削除します。
10.2.2. OpenShift Cluster Manager およびユーザー IAM ロールのリンク解除と削除 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Cluster Manager を使用して Red Hat OpenShift Service on AWS クラスターをインストールすると、OpenShift Cluster Manager と、Red Hat 組織にリンクするユーザーアイデンティティーおよびアクセス管理 (IAM) ロールも作成されます。クラスターを削除した後、ROSA CLI (rosa
) を使用して、ロールのリンクを解除して削除できます。
OpenShift Cluster Manager を使用して同じ AWS アカウント内の他の Red Hat OpenShift Service on AWS クラスターをインストールおよび管理する場合は、OpenShift Cluster Manager とユーザーの IAM ロールが必要です。OpenShift Cluster Manager を使用して Red Hat OpenShift Service on AWS クラスターをインストールする必要がなくなった場合にのみ、ロールを削除してください。
前提条件
- OpenShift Cluster Manager とユーザー IAM ロールを作成し、それらを Red Hat 組織にリンクした。
-
インストールホストに最新の ROSA CLI (
rosa
) をインストールして設定した。 - Red Hat 組織で組織管理者権限がある。
手順
Red Hat 組織から OpenShift Cluster Manager IAM ロールのリンクを解除し、ロールを削除します。
AWS アカウントで OpenShift Cluster Manager IAM ロールをリスト表示します。
rosa list ocm-roles
$ rosa list ocm-roles
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
I: Fetching ocm roles ROLE NAME ROLE ARN LINKED ADMIN AWS Managed ManagedOpenShift-OCM-Role-<red_hat_organization_external_id> arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id> Yes Yes Yes
I: Fetching ocm roles ROLE NAME ROLE ARN LINKED ADMIN AWS Managed ManagedOpenShift-OCM-Role-<red_hat_organization_external_id> arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id> Yes Yes Yes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上記のコマンドの出力で OpenShift Cluster Manager IAM ロールがリンク済みとしてリストされている場合は、次のコマンドを実行して、Red Hat 組織からロールのリンクを解除します。
rosa unlink ocm-role --role-arn <arn>
$ rosa unlink ocm-role --role-arn <arn>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<arn>
を OpenShift Cluster Manager IAM ロールの Amazon Resource Name (ARN) に置き換えます。ARN は、前のコマンドの出力で指定されます。上記の例では、ARN の形式はarn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>
です。
出力例
I: Unlinking OCM role ? Unlink the 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' role from organization '<red_hat_organization_id>'? Yes I: Successfully unlinked role-arn 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' from organization account '<red_hat_organization_id>'
I: Unlinking OCM role ? Unlink the 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' role from organization '<red_hat_organization_id>'? Yes I: Successfully unlinked role-arn 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' from organization account '<red_hat_organization_id>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift Cluster Manager IAM のロールとポリシーを削除します。
rosa delete ocm-role --role-arn <arn>
$ rosa delete ocm-role --role-arn <arn>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
I: Deleting OCM role ? OCM Role ARN: arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id> ? Delete 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' ocm role? Yes ? OCM role deletion mode: auto I: Successfully deleted the OCM role
I: Deleting OCM role ? OCM Role ARN: arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id> ? Delete 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' ocm role? Yes ? OCM role deletion mode: auto
1 I: Successfully deleted the OCM role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 削除モードを指定します。
auto
モードを使用して、OpenShift Cluster Manager IAM ロールとポリシーを自動的に削除できます。manual
モードでは、ROSA CLI はロールとポリシーを削除するために必要なaws
コマンドを生成します。manual
モードでは、aws
コマンドを手動で実行する前に詳細を確認することができます。
Red Hat 組織からユーザー IAM ロールのリンクを解除し、ロールを削除します。
AWS アカウントのユーザー IAM ロールをリスト表示します。
rosa list user-roles
$ rosa list user-roles
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
I: Fetching user roles ROLE NAME ROLE ARN LINKED ManagedOpenShift-User-<ocm_user_name>-Role arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role Yes
I: Fetching user roles ROLE NAME ROLE ARN LINKED ManagedOpenShift-User-<ocm_user_name>-Role arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role Yes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上記のコマンドの出力にユーザー IAM ロールがリンクされていると表示されている場合は、Red Hat 組織からロールのリンクを解除します。
rosa unlink user-role --role-arn <arn>
$ rosa unlink user-role --role-arn <arn>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<arn>
をユーザー IAM ロールの Amazon Resource Name (ARN) に置き換えます。ARN は、前のコマンドの出力で指定されます。前の例では、ARN の形式はarn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role
です。
出力例
I: Unlinking user role ? Unlink the 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role' role from the current account '<ocm_user_account_id>'? Yes I: Successfully unlinked role ARN 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role' from account '<ocm_user_account_id>'
I: Unlinking user role ? Unlink the 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role' role from the current account '<ocm_user_account_id>'? Yes I: Successfully unlinked role ARN 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role' from account '<ocm_user_account_id>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザー IAM ロールを削除します。
rosa delete user-role --role-arn <arn>
$ rosa delete user-role --role-arn <arn>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
I: Deleting user role ? User Role ARN: arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role ? Delete the 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role' role from the AWS account? Yes ? User role deletion mode: auto I: Successfully deleted the user role
I: Deleting user role ? User Role ARN: arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role ? Delete the 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role' role from the AWS account? Yes ? User role deletion mode: auto
1 I: Successfully deleted the user role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 削除モードを指定します。
auto
モードを使用して、ユーザー IAM ロールを自動的に削除できます。manual
モードでは、ROSA CLI はロールを削除するために必要なaws
コマンドを生成します。manual
モードでは、aws
コマンドを手動で実行する前に詳細を確認できます。
Legal Notice
リンクのコピーリンクがクリップボードにコピーされました!
Copyright © 2025 Red Hat
OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
Modified versions must remove all Red Hat trademarks.
Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.
Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.