2.7. カスタマイズを使用したクラスターの作成
ご使用の環境のニーズに適した設定で、AWS Security Token Service (STS) クラスターを備えた Red Hat OpenShift Service on AWS (ROSA) をデプロイします。Red Hat OpenShift Cluster Manager または ROSA CLI (rosa) を使用して、カスタマイズを使用してクラスターをデプロイできます。
2.7.1. OpenShift Cluster Manager を使用してカスタマイズしたクラスターを作成する
AWS Security Token Service (STS) を使用する Red Hat OpenShift Service on AWS (ROSA) クラスターを作成する場合、Red Hat OpenShift Cluster Manager を使用して、インストールをインタラクティブにカスタマイズできます。
STS では、パブリックおよび AWS PrivateLink クラスターのみがサポートされます。通常の プライベートクラスター (PrivateLink 以外) は STS では使用できません。
現時点で、AWS 共有 VPC は ROSA インストールではサポートされていません。
前提条件
- STS で ROSA の AWS の前提条件を完了している。
- 利用可能な AWS サービスクォータがある。
- AWS コンソールで ROSA サービスを有効にしている。
インストールホストに、最新の ROSA CLI (
rosa) をインストールして設定している。注記ROSA クラスターを正常にインストールするには、最新バージョンの ROSA CLI を使用します。
- AWS Elastic Load Balancing (ELB) サービ出力ルが AWS アカウントに存在することを確認している。
- クラスター全体のプロキシーを設定する場合は、クラスターがインストールされている VPC からプロキシーにアクセスできることを確認している。プロキシーは VPC のプライベートサブネットからもアクセスできる必要があります。
手順
- OpenShift Cluster Manager Hybrid Cloud Console に移動し、Create cluster を選択します。
- Create an OpenShift cluster ページの Red Hat OpenShift Service on AWS (ROSA) 行で Create cluster を選択します。
AWS アカウントが自動的に検出されると、アカウント ID は 関連付けられた AWS アカウント ドロップダウンメニューに表示されます。AWS アカウントが自動的に検出されない場合は、Select an account → Associate AWS account をクリックして、次の手順に従います。
Authenticate ページで、
rosa loginコマンドの横にあるコピーボタンをクリックします。このコマンドには、OpenShift Cluster Manager API ログイントークンが含まれます。注記OpenShift Cluster Manager の OpenShift Cluster Manager API Token ページで API トークンをロードすることもできます。
CLI でコピーしたコマンドを実行して、ROSA アカウントにログインします。
$ rosa login --token=<api_login_token> 1- 1
<api_login_token>を、コピーされたコマンドで提供されるトークンに置き換えます。
出力例
I: Logged in as '<username>' on 'https://api.openshift.com'
- OpenShift Cluster Manager の Authenticate ページで、Next をクリックします。
OCM role ページで、Basic OCM role または Admin OCM role コマンドの横にあるコピーボタンをクリックします。
基本ロールにより、OpenShift Cluster Manager は ROSA に必要な AWS IAM ロールとポリシーを検出できます。管理者ロールは、ロールとポリシーの検出も可能にします。さらに、管理者ロールを使用すると、OpenShift Cluster Manager を使用して、クラスター固有の Operator ロールと OpenID Connect (OIDC) プロバイダーを自動的にデプロイできます。
コピーしたコマンドを CLI で実行し、プロンプトに従って OpenShift Cluster Manager IAM ロールを作成します。次の例では、デフォルトのオプションを使用して基本的な OpenShift Cluster Manager IAM ロールを作成します。
$ rosa create ocm-role
出力例
I: Creating ocm role ? Role prefix: ManagedOpenShift 1 ? Enable admin capabilities for the OCM role (optional): No 2 ? Permissions boundary ARN (optional): 3 ? Role Path (optional): 4 ? Role creation mode: auto 5 I: Creating role using 'arn:aws:iam::<aws_account_id>:user/<aws_username>' ? Create the 'ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' role? Yes I: Created role 'ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' with ARN 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' I: Linking OCM role ? OCM Role ARN: arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id> ? Link the 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' role with organization '<red_hat_organization_id>'? Yes 6 I: Successfully linked role-arn 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' with organization account '<red_hat_organization_id>'
- 1
- OCM IAM ロール名に含める接頭辞を指定します。デフォルトは
ManagedOpenShiftです。Red Hat 組織の AWS アカウントごとに OCM ロールを 1 つだけ作成できます。 - 2
- 管理者 OpenShift Cluster Manager IAM ロールを有効にします。これは、
--admin引数を指定するのと同じです。自動 モードを使用して、OpenShift Cluster Manager を使用してクラスター固有の Operator ロールと OIDC プロバイダーを自動的にプロビジョニングする場合は、管理者ロールが必要です。 - 3
- オプション: ロールのパーミッション境界 Amazon Resource Name (ARN) を指定します。詳細は、AWS ドキュメントの IAM エンティティーのアクセス許可の境界 を参照してください。
- 4
- OCM ロールのカスタム ARN パスを指定します。パスには英数字のみを使用し、
/で開始および終了する必要があります (例:/test/path/dev/)。詳細は、IAM ロールとポリシーの ARN パスのカスタマイズ を参照してください。 - 5
- ロール作成モードを選択します。
autoモードを使用して、OpenShift Cluster Manager IAM ロールを自動的に作成し、それを Red Hat 組織アカウントにリンクすることができます。manualモードでは、ROSA CLI はロールの作成とリンクに必要なawsコマンドを生成します。manualモードでは、対応するポリシー JSON ファイルも現在のディレクトリーに保存されます。manualモードでは、awsコマンドを手動で実行する前に詳細を確認することができます。 - 6
- OpenShift Cluster Manager IAM ロールを Red Hat 組織アカウントにリンクします。
上記のコマンドで OpenShift Cluster Manager IAM ロールを Red Hat 組織アカウントにリンクしないことを選択した場合は、OpenShift Cluster Manager OCM role ページから
rosa linkコマンドをコピーして実行します。$ rosa link ocm-role <arn> 1- 1
<arn>を、前のコマンドの出力に含まれている OpenShift Cluster Manager IAM の ARN に置き換えます。
- OpenShift Cluster Manager OCM role ページで Next を選択します。
User role ページで、User role コマンドのコピーボタンをクリックし、CLI でコマンドを実行します。OpenShift Cluster Manager でクラスターおよび必要なリソースをインストールすると、Red Hat はユーザーロールを使用して AWS Identity を確認します。
プロンプトに従って、ユーザーロールを作成します。
$ rosa create user-role
出力例
I: Creating User role ? Role prefix: ManagedOpenShift 1 ? Permissions boundary ARN (optional): 2 ? Role Path (optional): [? for help] 3 ? Role creation mode: auto 4 I: Creating ocm user role using 'arn:aws:iam::<aws_account_id>:user/<aws_username>' ? Create the 'ManagedOpenShift-User-<red_hat_username>-Role' role? Yes I: Created role 'ManagedOpenShift-User-<red_hat_username>-Role' with ARN 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<red_hat_username>-Role' I: Linking User role ? User Role ARN: arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<red_hat_username>-Role ? Link the 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<red_hat_username>-Role' role with account '<red_hat_user_account_id>'? Yes 5 I: Successfully linked role ARN 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<red_hat_username>-Role' with account '<red_hat_user_account_id>'
- 1
- ユーザーロール名に含める接頭辞を指定します。デフォルトは
ManagedOpenShiftです。 - 2
- オプション: ロールのパーミッション境界 Amazon Resource Name (ARN) を指定します。詳細は、AWS ドキュメントの IAM エンティティーのアクセス許可の境界 を参照してください。
- 3
- ユーザーロールのカスタム ARN パスを指定します。パスには英数字のみを使用し、
/で開始および終了する必要があります (例:/test/path/dev/)。詳細は、IAM ロールとポリシーの ARN パスのカスタマイズ を参照してください。 - 4
- ロール作成モードを選択します。
autoモードを使用して、ユーザーロールを自動的に作成し、OpenShift Cluster Manager ユーザーアカウントにリンクすることができます。manualモードでは、ROSA CLI はロールの作成とリンクに必要なawsコマンドを生成します。manualモードでは、対応するポリシー JSON ファイルも現在のディレクトリーに保存されます。manualモードでは、awsコマンドを手動で実行する前に詳細を確認することができます。 - 5
- ユーザーロールを OpenShift Cluster Manager ユーザーアカウントにリンクします。
上記のコマンドでユーザーロールを OpenShift Cluster Manager ユーザーアカウントにリンクしないことを選択した場合は、OpenShift Cluster Manager User role ページから
rosa linkコマンドをコピーして実行します。$ rosa link user-role <arn> 1- 1
<arn>を、前のコマンドの出力に含まれているユーザーロールの ARN に置き換えます。
- OpenShift Cluster Manager User role ページで、Ok をクリックします。
- Accounts and roles ページの Associated AWS accounts ドロップダウンメニューに AWS アカウント ID が表示されていることを確認します。
必要なアカウントロールが存在しない場合は、Some account roles ARNs was not detected という通知が表示されます。
rosa create account-rolesコマンドの横にあるコピーバッファーをクリックし、CLI でコマンドを実行することにより、Operator ポリシーを含む AWS アカウント全体のロールおよびポリシーを作成できます。$ rosa create account-roles
出力例
I: Logged in as '<red_hat_username>' on 'https://api.openshift.com' I: Validating AWS credentials... I: AWS credentials are valid! I: Validating AWS quota... I: AWS quota ok. If cluster installation fails, validate actual AWS resource usage against https://docs.openshift.com/rosa/rosa_getting_started/rosa-required-aws-service-quotas.html I: Verifying whether OpenShift command-line tool is available... I: Current OpenShift Client Version: 4.13.0 I: Creating account roles ? Role prefix: ManagedOpenShift 1 ? Permissions boundary ARN (optional): 2 ? Path (optional): [? for help] 3 ? Role creation mode: auto 4 I: Creating roles using 'arn:aws:iam::<aws_account_number>:user/<aws_username>' ? Create the 'ManagedOpenShift-Installer-Role' role? Yes 5 I: Created role 'ManagedOpenShift-Installer-Role' with ARN 'arn:aws:iam::<aws_account_number>:role/ManagedOpenShift-Installer-Role' ? Create the 'ManagedOpenShift-ControlPlane-Role' role? Yes 6 I: Created role 'ManagedOpenShift-ControlPlane-Role' with ARN 'arn:aws:iam::<aws_account_number>:role/ManagedOpenShift-ControlPlane-Role' ? Create the 'ManagedOpenShift-Worker-Role' role? Yes 7 I: Created role 'ManagedOpenShift-Worker-Role' with ARN 'arn:aws:iam::<aws_account_number>:role/ManagedOpenShift-Worker-Role' ? Create the 'ManagedOpenShift-Support-Role' role? Yes 8 I: Created role 'ManagedOpenShift-Support-Role' with ARN 'arn:aws:iam::<aws_account_number>:role/ManagedOpenShift-Support-Role' I: To create a cluster with these roles, run the following command: rosa create cluster --sts
- 1
- OpenShift Cluster Manager IAM ロール名に含める接頭辞を指定します。デフォルトは
ManagedOpenShiftです。重要アカウントロールにカスタム ARN パスを使用する場合でも、AWS アカウント全体で一意のアカウント全体のロール 接頭辞を指定する必要があります。
- 2
- オプション: ロールのパーミッション境界 Amazon Resource Name (ARN) を指定します。詳細は、AWS ドキュメントの IAM エンティティーのアクセス許可の境界 を参照してください。
- 3
- アカウント全体のロールのカスタム ARN パスを指定します。パスには英数字のみを使用し、
/で開始および終了する必要があります (例:/test/path/dev/)。詳細は、IAM ロールとポリシーの ARN パスのカスタマイズ を参照してください。 - 4
- ロール作成モードを選択します。
autoモードを使用して、アカウント全体のロールとポリシーを自動的に作成できます。manualモードでは、ROSA CLI はロールとポリシーの作成に必要なawsコマンドを生成します。manualモードでは、対応するポリシー JSON ファイルも現在のディレクトリーに保存されます。manualモードでは、awsコマンドを手動で実行する前に詳細を確認することができます。 - 5 6 7 8
- アカウント全体のインストーラー、コントロールプレーン、ワーカー、サポートロール、および対応する IAM ポリシーを作成します。詳細については、アカウント全体の IAM ロールとポリシーリファレンスを参照してください。注記
このステップでは、ROSA CLI は、クラスター固有の Operator ポリシーによって使用されるアカウント全体の Operator IAM ポリシーも自動的に作成し、ROSA クラスター Operator がコア OpenShift 機能を実行できるようにします。詳細については、アカウント全体の IAM ロールとポリシーリファレンスを参照してください。
Accounts and roles ページで、Refresh ARNs をクリックし、インストーラー、サポート、ワーカー、およびコントロールプレーンのアカウントのロール ARN が表示されていることを確認します。
クラスターバージョンの AWS アカウントに複数のアカウントロールセットがある場合は、インストーラーロール ARN のドロップダウンリストが表示されます。クラスターで使用するインストーラーロールの ARN を選択します。クラスターは、選択したインストーラーロールに関連するアカウント全体のロールとポリシーを使用します。
Next をクリックします。
注記Accounts and roles ページが更新された場合は、すべての前提条件を読んで完了したことを確認するために、チェックボックスの再選択が求められる場合があります。
Cluster details ページで、クラスターの名前を指定し、クラスターの詳細を指定します。
- Cluster name を追加します。
- Version ドロップダウンメニューからクラスターバージョンを選択します。
- Region ドロップダウンメニューからクラウドプロバイダーのリージョンを選択します。
- Single zone または Multi-zone 設定を選択し ます。
- Enable user workloads monitoring を選択したままにして、Red Hat サイト信頼性エンジニアリング (SRE) プラットフォームメトリクスから切り離して独自のプロジェクトをモニターします。このオプションはデフォルトで有効になっています。
オプション:etcd キー値の暗号化が必要な場合には、Enable additional etcd encryption を選択します。このオプションを使用すると、etcd キーの値は暗号化されますが、キーは暗号化されません。このオプションは、デフォルトで Red Hat OpenShift Service on AWS クラスター内の etcd ボリュームを暗号化するコントロールプレーンストレージ暗号化に追加されます。
注記etcd のキー値の etcd 暗号化を有効にすると、約 20% のパフォーマンスのオーバーヘッドが発生します。このオーバーヘッドは、etcd ボリュームを暗号化するデフォルトのコントロールプレーンのストレージ暗号化に加えて、この 2 つ目の暗号化レイヤーの導入により生じます。お客様のユースケースで特に etcd 暗号化が必要な場合にのみ、暗号化を有効にすることを検討してください。
オプション: 独自の AWS Key Management Service (KMS) キーの Amazon Resource Name (ARN) を提供する場合は、Encrypt persistent volumes with customer keys を選択します。このキーは、クラスター内の永続ボリュームの暗号化に使用されます。
重要デフォルトでは、デフォルトのストレージクラスから作成された永続ボリューム (PV) のみが暗号化されます。
他のストレージクラスを使用して作成された PV は、ストレージクラスが暗号化されるように設定されている場合にのみ暗号化されます。
オプション。顧客管理の KMS キーを作成するには、対称暗号化 KMS キーの作成 の手順に従います。
重要クラスターを正常に作成するには、アカウントのロールに加えて EBS オペレーターのロールが必要です。
EBS オペレーターのロールの例
"arn:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-cluster-csi-drivers-ebs-cloud-credent"Operator Role を作成したら、AWS コンソールの Key Management Service (KMS) ページ で キーポリシー を編集して、ロールを追加する必要があります。
- Next をクリックします。
Default machine pool ページで、Compute node instance type を選択します。
注記クラスターの作成後に、クラスター内のコンピュートノード数を変更できますが、デフォルトのマシンプールのコンピュートノードインスタンスのタイプを変更することはできません。使用可能なノードの数とタイプは、単一または複数のアベイラビリティーゾーンを使用するかどうかによって異なります。また、AWS アカウントと選択したリージョンで何が有効で利用可能かによっても異なります。
オプション: デフォルトのマシンプールの自動スケーリングを設定します。
- Enable autoscaling を選択し、デプロイメントのニーズを満たすためにデフォルトのマシンプール内のマシン数を自動的にスケーリングします。
自動スケーリングの最小および最大のノード数制限を設定します。Cluster Autoscaler は、指定する制限を超えてデフォルトのマシンプールノード数を減らしたり、増やしたりできません。
- 単一アベイラビリティーゾーンを使用してクラスターをデプロイした場合は、最小および最大のノード数 を設定します。これは、アベイラビリティーゾーンのコンピュートノードの最小および最大の制限を定義します。
- 複数のアベイラビリティーゾーンを使用してクラスターをデプロイした場合は、Minimum nodes per zone および Maximum nodes per zone を設定します。これは、ゾーンごとの最小および最大のコンピュート制限を定義します。
注記または、デフォルトのマシンプールの作成後にマシンプールの自動スケーリングを設定できます。
自動スケーリングを有効にしなかった場合は、デフォルトのマシンプールのコンピュートノード数を選択します。
- 単一アベイラビリティーゾーンを使用してクラスターをデプロイした場合は、ドロップダウンメニューから コンピュートノード数 を選択します。これは、ゾーンのマシンプールにプロビジョニングするコンピュートノードの数を定義します。
- 複数のアベイラビリティーゾーンを使用してクラスターをデプロイした場合は、ドロップダウンメニューから コンピュートノードの数 (ゾーンごと) を選択します。これは、ゾーンごとにマシンプールにプロビジョニングするコンピュートノードの数を定義します。
オプション: IMDSv2 の使用を強制するには、EC2 Instance Metadata Service (IMDS) 設定 (
optional(デフォルト) またはrequired) を選択します。IMDS の詳細は、AWS ドキュメントの Instance metadata and user data を参照してください。重要クラスターの作成後に Instance Metadata Service の設定を変更することはできません。
- 任意手順: Edit node labels を展開してラベルをノードに追加します。Add label をクリックしてさらにノードラベルを追加し、Next を選択します。
Network configuration ページの Cluster privacy セクションで、Public または Privateを選択して、クラスターのパブリックまたはプライベート API エンドポイントとアプリケーションルートを使用します。
重要クラスターの作成後、API エンドポイントをパブリックとプライベートの間で変更することはできません。
- パブリック API エンドポイント
- クラスターへのアクセスを制限しない場合は、パブリック を選択します。インターネットから Kubernetes API エンドポイントとアプリケーションルートにアクセスできます。
- プライベート API エンドポイント
クラスターへのネットワークアクセスを制限する場合は、Private を選択します。Kubernetes API エンドポイントとアプリケーションルートには、直接のプライベート接続からのみアクセスできます。
重要プライベート API エンドポイントを使用している場合、クラウドプロバイダーアカウントのネットワーク設定を更新するまでクラスターにはアクセスできません。
オプション: パブリック API エンドポイントを使用することを選択した場合は、デフォルトでクラスター用に新しい VPC が作成されます。代わりに既存の VPC にクラスターをインストールする場合は、Install into an existing VPC を 選択します。
重要クラスター障害の問題を回避するには、以前のクラスターの ROSA インストーラーによって作成された既存の VPC に ROSA クラスターをインストールしないでください。インストール中に VPC を作成したクラスターが削除されると、関連するインストーラーによって作成された VPC も削除され、その結果、同じ VPC にインストールされているすべてのクラスターで障害が発生します。
注記プライベート API エンドポイントを使用することを選択した場合は、既存の VPC と PrivateLink を使用する必要があり、既存の VPC にインストールしてUse a PrivateLink オプションが自動的に選択されます。これらのオプションを使用すると、Red Hat サイト信頼性エンジニアリング (SRE) チームはクラスターに接続して、AWS PrivateLink エンドポイントのみを使用してサポートを行うことができます。
- オプション: クラスターを既存の VPC にインストールする場合は、Configure a cluster-wide proxy を選択して、HTTP または HTTPS プロキシーがクラスターからインターネットへの直接アクセスを拒否できるようにします。
- Next をクリックします。
クラスターを既存の AWS VPC にインストールする場合、Virtual Private Cloud (VPC) サブネット設定 を指定します。
注記クラスターをインストールするアベイラビリティーゾーンごとに、VPC がパブリックおよびプライベートサブネットで設定されるようにする必要があります。PrivateLink を使用する場合には、プライベートサブネットのみが必要になります。
クラスター全体のプロキシーを設定することを選択した場合は、Cluster-wide proxy ページでプロキシー設定の詳細を指定します。
次のフィールドの少なくとも 1 つに値を入力します。
- 有効な HTTP proxy URL を指定します。
- 有効な HTTPS proxy URL を指定します。
Additional trust bundle フィールドに、PEM でエンコードされた X.509 証明書バンドルを指定します。このバンドルはクラスターノードの信頼済み証明書ストアに追加されます。プロキシーのアイデンティティー証明書が Red Hat Enterprise Linux CoreOS (RHCOS) 信頼バンドルからの認証局によって署名されない限り、追加の信頼バンドルファイルが必要です。
追加のプロキシー設定が必要ではなく、追加の認証局 (CA) を必要とする MITM の透過的なプロキシーネットワークを使用する場合には、MITM CA 証明書を指定する必要があります。
注記HTTP または HTTPS プロキシー URL を指定せずに追加の信頼バンドルファイルをアップロードする場合、バンドルはクラスターに設定されますが、プロキシーで使用するように設定されていません。
- Next をクリックします。
Red Hat OpenShift Service on AWS を使用したプロキシーの設定に関する詳細は、クラスター全体のプロキシーの設定 を参照してください。
CIDR ranges ダイアログで、カスタムの Classless Inter-Domain Routing (CIDR) 範囲を設定するか、または提供されるデフォルトを使用して、Next を、クリックします。
注記VPC にインストールする場合、Machine CIDR 範囲は VPC サブネットに一致する必要があります。
重要CIDR 設定は後で変更することはできません。続行する前に、ネットワーク管理者と選択内容を確認してください。
クラスターのロールとポリシーページで、優先するクラスター固有のオペレーター IAM のロールと OIDC プロバイダーの作成モードを選択します。
Manual モードでは、
rosaCLI コマンドまたはawsCLI コマンドのいずれかを使用して、クラスターに必要な Operator ロールと OIDC プロバイダーを生成できます。手動 モードでは、優先オプションを使用して IAM リソースを手動で作成し、クラスターのインストールを完了する前に、詳細を確認できます。または、自動 モードを使用して、オペレーターのロールと OIDC プロバイダーを自動的に作成することもできます。Auto モードを有効にするには、OpenShift Cluster Manager IAM ロールに管理者機能が必要です。
注記関連するアカウント全体のロールを作成したときにカスタム ARN パスを指定した場合、カスタムパスが自動的に検出され、Operator ロールに適用されます。カスタム ARN パスは、Manual モードまたは Auto モードのいずれかを使用して Operator ロールが作成されるときに適用されます。
オプション: クラスター固有の Operator IAM ロールの カスタム Operator ロール接頭辞 を指定します。
注記デフォルトでは、クラスター固有のオペレーターのロール名には、クラスター名とランダムな 4 桁のハッシュが接頭辞として付けられます。オプションで、ロール名の
<cluster_name>-<hash>を置き換えるカスタム接頭辞を指定できます。接頭辞は、クラスター固有の Operator IAM ロールを作成するときに適用されます。接頭辞の詳細は、カスタム Operator IAM ロール接頭辞についてを参照してください。- Next を選択します。
Cluster update strategy ページで、更新設定を行います。
クラスターの更新方法を選択します。
- 各更新を個別にスケジュールする場合は、Individual updates を選択します。以下はデフォルトのオプションになります。
Recurring updates を選択して、更新が利用可能な場合に、希望の曜日と開始時刻にクラスターを更新します。
重要定期的な更新を選択した場合でも、マイナーリリース間でクラスターをアップグレードする前に、アカウント全体およびクラスター固有の IAM リソースを更新する必要があります。
注記保守終了日は、Red Hat OpenShift Service on AWS の更新ライフサイクルドキュメントで確認できます。詳細については、Red Hat OpenShift Service on AWS 更新ライフサイクル を参照してください。
- 繰り返し更新を選択した場合は、ドロップダウンメニューから希望の曜日およびアップグレード開始時刻 (UTC) を選択します。
- オプション: クラスターアップグレード時の ノードのドレイン (解放) の猶予期間を設定できます。デフォルトで 1 時間 の猶予期間が設定されています。
Next をクリックします。
注記クラスターのセキュリティーまたは安定性に大きく影響する重大なセキュリティー問題がある場合、Red Hat サイト信頼性エンジニアリング (SRE) は、影響を受けない最新の z ストリームバージョンへの自動更新をスケジュールする場合があります。更新は、お客様に通知された後、48 時間以内に適用されます。重大な影響を及ぼすセキュリティー評価の説明は、Red Hat セキュリティー評価について を参照してください。
- 選択の概要を確認し、Create cluster をクリックしてクラスターのインストールを開始します。
手動 モードを使用することを選択した場合は、クラスター固有の Operator のロールと OIDC プロバイダーを手動で作成して、インストールを続行します。
Action required to continue installation ダイアログで、AWS CLI または ROSA CLI タブを選択し、リソースを手動で作成します。
AWS CLI メソッドを使用することを選択した場合は、Download .zip をクリックしてファイルを保存してから、AWS CLI コマンドとポリシーファイルを展開します。次に、CLI で提供されている
awsコマンドを実行します。注記ポリシーファイルを含むディレクトリーで
awsコマンドを実行する必要があります。ROSA CLI メソッドを使用することを選択した場合は、
rosa createコマンドの横にあるコピーボタンをクリックして、CLI で実行します。注記関連付けられたアカウント全体のロールを作成したときにカスタム ARN パスを指定した場合、これらの手動の方法を使用してオペレーターのロールを作成すると、カスタムパスが自動的に検出され、Operator のロールに適用されます。
- Action required to continue installation ダイアログで、x をクリックしてクラスターの Overview ページに戻ります。
- Overview ページの Details セクションで、クラスターの Status が Waiting から Installing に変更されていることを確認します。ステータスが変わるまでに約 2 分の短い遅延が発生する場合があります。
注記自動 モードの使用を選択した場合、OpenShift Cluster Manager は Operator ロールと OIDC プロバイダーを自動的に作成します。
重要クラスターを正常に作成するには、アカウントのロールに加えて EBS Operator のロールが必要です。EBS Operator ロールの例は
"arn:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-cluster-csi-drivers-ebs-cloud-credent"です。Operator Role を作成したら、AWS コンソールの Key Management Service (KMS) ページ で キーポリシー を編集して、ロールを追加する必要があります。
検証
クラスターの Overview ページで、インストールの進捗をモニターできます。同じページでインストールのログを表示できます。そのページの Details セクションの Status が Ready として表示されると、クラスターは準備が完了した状態になります。
注記インストールが失敗するか、約 40 分経ってもクラスターの 状態 が Ready に変わらない場合は、インストールのトラブルシューティングのドキュメントで詳細を確認してください。詳細は、インストールのトラブルシューティングを参照してください。Red Hat サポートにサポートを依頼する手順は、Red Hat OpenShift Service on AWS のサポートを受けるを参照してください。
関連情報
- ROSA CLI を使用したオブジェクトの管理 で クラスターを作成します。
2.7.2. CLI を使用してカスタマイズしたクラスターを作成する
AWS Security Token Service (STS) を使用する Red Hat OpenShift Service on AWS (ROSA) クラスターを作成する場合は、インストールを対話的にカスタマイズできます。
rosa create cluster --interactive コマンドをクラスターの作成時に実行すると、デプロイメントのカスタマイズを可能にする一連の対話式プロンプトが表示されます。詳細は、対話式クラスター作成モードリファレンス を参照してください。
対話モードを使用したクラスターのインストールが完了すると、同じカスタム設定を使用してさらにクラスターをデプロイできるようにする単一のコマンドが出力に提供されます。
STS では、パブリックおよび AWS PrivateLink クラスターのみがサポートされます。通常の プライベートクラスター (PrivateLink 以外) は STS では使用できません。
現時点で、AWS 共有 VPC は ROSA インストールではサポートされていません。
前提条件
- STS で ROSA の AWS の前提条件を完了している。
- 利用可能な AWS サービスクォータがある。
- AWS コンソールで ROSA サービスを有効にしている。
インストールホストに、最新の Red Hat OpenShift Service on AWS (ROSA) CLI (
rosa) をインストールして設定している。注記ROSA クラスターを正常にインストールするには、最新バージョンの ROSA CLI を使用します。
顧客管理の AWS Key Management Service (KMS) キーを暗号化に使用する場合は、対称 KMS キーを作成する必要があります。クラスターを作成するときに、Amazon Resource Name (ARN) を指定する必要があります。顧客管理の KMS キーを作成するには、対称暗号化 KMS キーの作成 の手順に従います。
重要クラスターを正常に作成するには、アカウントのロールに加えて EBS オペレーターのロールが必要です。
EBS オペレーターのロールの例
"arn:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-cluster-csi-drivers-ebs-cloud-credent"Operator Role を作成したら、AWS コンソールの Key Management Service (KMS) ページ で キーポリシー を編集して、ロールを追加する必要があります。
手順
Operator ポリシーを含む、必要なアカウント全体のロールおよびポリシーを作成します。
現在の作業ディレクトリーに IAM ポリシー JSON ファイルを作成し、確認用に
awsCLI コマンドを実行します。$ rosa create account-roles --interactive \ 1 --mode manual 2
出力例
I: Logged in as '<red_hat_username>' on 'https://api.openshift.com' I: Validating AWS credentials... I: AWS credentials are valid! I: Validating AWS quota... I: AWS quota ok. If cluster installation fails, validate actual AWS resource usage against https://docs.openshift.com/rosa/rosa_getting_started/rosa-required-aws-service-quotas.html I: Verifying whether OpenShift command-line tool is available... I: Current OpenShift Client Version: 4.13.0 I: Creating account roles ? Role prefix: ManagedOpenShift 1 ? Permissions boundary ARN (optional): 2 ? Path (optional): [? for help] 3 ? Role creation mode: auto 4 I: Creating roles using 'arn:aws:iam::<aws_account_number>:user/<aws_username>' ? Create the 'ManagedOpenShift-Installer-Role' role? Yes 5 I: Created role 'ManagedOpenShift-Installer-Role' with ARN 'arn:aws:iam::<aws_account_number>:role/ManagedOpenShift-Installer-Role' ? Create the 'ManagedOpenShift-ControlPlane-Role' role? Yes 6 I: Created role 'ManagedOpenShift-ControlPlane-Role' with ARN 'arn:aws:iam::<aws_account_number>:role/ManagedOpenShift-ControlPlane-Role' ? Create the 'ManagedOpenShift-Worker-Role' role? Yes 7 I: Created role 'ManagedOpenShift-Worker-Role' with ARN 'arn:aws:iam::<aws_account_number>:role/ManagedOpenShift-Worker-Role' ? Create the 'ManagedOpenShift-Support-Role' role? Yes 8 I: Created role 'ManagedOpenShift-Support-Role' with ARN 'arn:aws:iam::<aws_account_number>:role/ManagedOpenShift-Support-Role' I: To create a cluster with these roles, run the following command: rosa create cluster --sts
- 1
- OpenShift Cluster Manager IAM ロール名に含める接頭辞を指定します。デフォルトは
ManagedOpenShiftです。重要アカウントロールにカスタム ARN パスを使用する場合でも、AWS アカウント全体で一意のアカウント全体のロール 接頭辞を指定する必要があります。
- 2
- オプション: ロールのパーミッション境界 Amazon Resource Name (ARN) を指定します。詳細は、AWS ドキュメントの IAM エンティティーのアクセス許可の境界 を参照してください。
- 3
- アカウント全体のロールのカスタム ARN パスを指定します。パスには英数字のみを使用し、
/で開始および終了する必要があります (例:/test/path/dev/)。詳細は、IAM ロールとポリシーの ARN パスのカスタマイズ を参照してください。 - 4
- ロール作成モードを選択します。
autoモードを使用して、アカウント全体のロールとポリシーを自動的に作成できます。manualモードでは、rosaCLI はロールとポリシーの作成に必要なawsコマンドを生成します。manualモードでは、対応するポリシー JSON ファイルも現在のディレクトリーに保存されます。manualモードでは、awsコマンドを手動で実行する前に詳細を確認することができます。 - 5 6 7 8
- アカウント全体のインストーラー、コントロールプレーン、ワーカー、サポートロール、および対応する IAM ポリシーを作成します。詳細については、アカウント全体の IAM ロールとポリシーリファレンスを参照してください。注記
このステップでは、ROSA CLI は、クラスター固有の Operator ポリシーによって使用されるアカウント全体の Operator IAM ポリシーも自動的に作成し、ROSA クラスター Operator がコア OpenShift 機能を実行できるようにします。詳細については、アカウント全体の IAM ロールとポリシーリファレンスを参照してください。
-
確認後は、
awsコマンドを手動で実行し、ロールおよびポリシーを作成します。または、--mode autoを使用して前述のコマンドを実行して、awsコマンドを即座に実行できます。
オプション: 独自の AWS KMS キーを使用してコントロールプレーン、インフラストラクチャー、ワーカーノードのルートボリューム、および永続ボリューム (PV) を暗号化する場合は、アカウント全体のインストーラーロールの ARN を KMS キーポリシーに追加します。
重要デフォルトのストレージクラスから作成された永続ボリューム (PV) のみが、この特定のキーで暗号化されます。
他のストレージクラスを使用して作成された PV は引き続き暗号化されますが、ストレージクラスがこのキーを使用するように特別に設定されていない限り、PV はこのキーで暗号化されません。
KMS キーのキーポリシーをローカルマシンのファイルに保存します。次の例では、出力を現在の作業ディレクトリーの
kms-key-policy.jsonに保存します。$ aws kms get-key-policy --key-id <key_id_or_arn> --policy-name default --output text > kms-key-policy.json 1- 1
<key_id_or_arn>を KMS キーの ID または ARN に置き換えます。
前述の手順で作成したアカウント全体のインストーラーロールの ARN を、ファイルの
Statement.Principal.AWSセクションに追加します。以下の例では、デフォルトのManagedOpenShift-Installer-Roleロールの ARN が追加されます。{ "Version": "2012-10-17", "Id": "key-rosa-policy-1", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<aws_account_id>:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow ROSA use of the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Support-Role", 1 "arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Installer-Role", "arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Worker-Role", "arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-ControlPlane-Role", "arn:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-cluster-csi-drivers-ebs-cloud-credent" 2 ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Support-Role", 3 "arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Installer-Role", "arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Worker-Role", "arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-ControlPlane-Role", "arn:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-cluster-csi-drivers-ebs-cloud-credent" 4 ] }, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": { "Bool": { "kms:GrantIsForAWSResource": "true" } } } ] }KMS キーポリシーに変更を適用します。
$ aws kms put-key-policy --key-id <key_id_or_arn> \ 1 --policy file://kms-key-policy.json \ 2 --policy-name default
次の手順でクラスターを作成すると、KMS キーの ARN を参照できます。
カスタムインストールオプションを使用して STS でクラスターを作成します。
--interactiveモードを使用して、カスタム設定を対話的に指定できます。重要クラスター障害の問題を回避するには、以前のクラスターの ROSA インストーラーによって作成された既存の VPC に ROSA クラスターをインストールしないでください。インストール中に VPC を作成したクラスターが削除されると、関連するインストーラーによって作成された VPC も削除され、その結果、同じ VPC にインストールされているすべてのクラスターで障害が発生します。
$ rosa create cluster --interactive --sts
出力例
I: Interactive mode enabled. Any optional fields can be left empty and a default will be selected. ? Cluster name: <cluster_name> Deploy cluster with Hosted Control Plane (optional): No ? OpenShift version: 4.13.4 1 ? Configure the use of IMDSv2 for ec2 instances optional/required (optional): 2 I: Using arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Installer-Role for the Installer role 3 I: Using arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-ControlPlane-Role for the ControlPlane role I: Using arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Worker-Role for the Worker role I: Using arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Support-Role for the Support role ? External ID (optional): ? Operator roles prefix: <cluster_name>-<random_string> 4 ? Multiple availability zones (optional): No 5 ? AWS region: us-east-1 ? PrivateLink cluster (optional): No ? Install into an existing VPC (optional): No ? Select availability zones (optional): No ? Enable Customer Managed key (optional): No 6 ? Compute nodes instance type (optional): ? Enable autoscaling (optional): No ? Compute nodes: 2 ? Machine CIDR: 10.0.0.0/16 ? Service CIDR: 172.30.0.0/16 ? Pod CIDR: 10.128.0.0/14 ? Host prefix: 23 ? Encrypt etcd data (optional): No 7 ? Disable Workload monitoring (optional): No I: Creating cluster '<cluster_name>' I: To create this cluster again in the future, you can run: rosa create cluster --cluster-name <cluster_name> --role-arn arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Installer-Role --support-role-arn arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Support-Role --master-iam-role arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-ControlPlane-Role --worker-iam-role arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Worker-Role --operator-roles-prefix <cluster_name>-<random_string> --region us-east-1 --version 4.8.9 --compute-nodes 2 --machine-cidr 10.0.0.0/16 --service-cidr 172.30.0.0/16 --pod-cidr 10.128.0.0/14 --host-prefix 23 8 I: To view a list of clusters and their status, run 'rosa list clusters' I: Cluster '<cluster_name>' has been created. I: Once the cluster is installed you will need to add an Identity Provider before you can login into the cluster. See 'rosa create idp --help' for more information. ...
- 1
- クラスターの作成時に、一覧表示された
OpenShift バージョンオプションには、4.13.4などのメジャー、マイナー、およびパッチバージョンが含まれます。 - 2
- オプション: EC2 Instance Metadata Service (IMDS) の v1 エンドポイントと v2 エンドポイントの両方を使用するようにすべての EC2 インスタンスを設定するには、optional を指定します。これはデフォルト値です。すべての EC2 インスタンスが IMDSv2 のみを使用するように設定するには、required を指定します。重要
クラスターの作成後に Instance Metadata Service の設定を変更することはできません。
- 3
- クラスターバージョンの AWS アカウントに複数のアカウントロールセットがある場合は、オプションのインタラクティブなリストが表示されます。
- 4
- デフォルトでは、クラスター固有のオペレーターのロール名には、クラスター名とランダムな 4 桁のハッシュが接頭辞として付けられます。オプションで、ロール名の
<cluster_name>-<hash>を置き換えるカスタム接頭辞を指定できます。接頭辞は、クラスター固有の Operator IAM ロールを作成するときに適用されます。接頭辞の詳細は、Operator IAM ロール接頭辞の定義を参照してください。注記関連するアカウント全体のロールを作成したときにカスタム ARN パスを指定した場合、カスタムパスは自動的に検出されます。カスタムパスは、後のステップで作成するときに、クラスター固有の Operator ロールに適用されます。
- 5
- オプション: 実稼働環境のワークロードには、複数のアベイラビリティーゾーンの使用が推奨されます。デフォルトは単一のアベイラビリティーゾーンです。
- 6
- オプション: 独自の AWS KMS キーを使用してコントロールプレーン、インフラストラクチャー、ワーカーノードのルートボリューム、および PV を暗号化する場合は、このオプションを有効にします。前述の手順でアカウント全体のロール ARN を追加した KMS キーの ARN を指定します。重要
デフォルトのストレージクラスから作成された永続ボリューム (PV) のみが、この特定のキーで暗号化されます。
他のストレージクラスを使用して作成された PV は引き続き暗号化されますが、ストレージクラスがこのキーを使用するように特別に設定されていない限り、PV はこのキーで暗号化されません。
- 7
- オプション: このオプションを有効にするのは、デフォルトで etcd ボリュームを暗号化するコントロールプレーンストレージ暗号化に加えて、etcd キー値の暗号化が必要なユースケースの場合のみです。このオプションを使用すると、etcd キーの値は暗号化されますが、キーは暗号化されません。重要
etcd のキー値の etcd 暗号化を有効にすると、約 20% のパフォーマンスのオーバーヘッドが発生します。このオーバーヘッドは、etcd ボリュームを暗号化するデフォルトのコントロールプレーンのストレージ暗号化に加えて、この 2 つ目の暗号化レイヤーの導入により生じます。Red Hat は、お客様のユースケースで特に etcd 暗号化が必要な場合にのみ有効にすることを推奨します。
- 8
- この出力には、今後も同じ設定でクラスターを作成するのに実行できるカスタムコマンドが含まれます。
--interactiveモードを使用する代わりに、rosa create clusterコマンドの実行時にカスタマイズオプションを直接指定できます。rosa create cluster --helpコマンドを実行して利用可能な CLI オプションのリストを表示するか、ROSA CLI を使用したオブジェクトの管理 の クラスターの作成 を参照してください。重要Operator IAM ロールおよび OpenID Connect (OIDC) プロバイダーを作成し、クラスターの状態を
readyに移行するには、以下の手順を実行する必要があります。クラスター固有の Operator IAM ロールを作成します。
現在の作業ディレクトリーに Operator IAM ポリシー JSON ファイルを作成し、確認用に
awsCLI コマンドを実行します。$ rosa create operator-roles --mode manual --cluster <cluster_name|cluster_id> 1- 1
manualモードは、Operator ロールの作成に必要なawsCLI コマンドおよび JSON ファイルを生成します。確認後、手動でコマンドを実行してリソースを作成する必要があります。
確認後は、
awsコマンドを手動で実行し、Operator IAM ロールを作成し、管理対象 Operator ポリシーをそれらに割り当てます。または、--mode autoを使用して前述のコマンドを実行して、awsコマンドを即座に実行できます。注記前の手順で接頭辞を指定した場合、カスタム接頭辞が Operator ロール名に適用されます。
関連するアカウント全体のロールを作成したときにカスタム ARN パスを指定した場合、カスタムパスが自動的に検出され、Operator ロールに適用されます。
重要クラスターを正常に作成するには、アカウントのロールに加えて EBS Operator のロールが必要です。EBS Operator ロールの例は
"arn:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-cluster-csi-drivers-ebs-cloud-credent"です。Operator Role を作成したら、AWS コンソールの Key Management Service (KMS) ページ で キーポリシー を編集して、ロールを追加する必要があります。
クラスター Operator が認証に使用する OpenID Connect (OIDC) プロバイダーを作成します。
$ rosa create oidc-provider --mode auto --cluster <cluster_name|cluster_id> 1- 1
autoモードは、OIDC プロバイダーを作成するawsCLI コマンドを即時実行します。
クラスターのステータスを確認します。
$ rosa describe cluster --cluster <cluster_name|cluster_id>
出力例
Name: <cluster_name> ID: <cluster_id> External ID: <external_id> OpenShift Version: <version> Channel Group: stable DNS: <cluster_name>.xxxx.p1.openshiftapps.com AWS Account: <aws_account_id> API URL: https://api.<cluster_name>.xxxx.p1.openshiftapps.com:6443 Console URL: https://console-openshift-console.apps.<cluster_name>.xxxx.p1.openshiftapps.com Region: <aws_region> Multi-AZ: false Nodes: - Master: 3 - Infra: 2 - Compute: 2 Network: - Service CIDR: 172.30.0.0/16 - Machine CIDR: 10.0.0.0/16 - Pod CIDR: 10.128.0.0/14 - Host Prefix: /23 STS Role ARN: arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Installer-Role Support Role ARN: arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Support-Role Instance IAM Roles: - Master: arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-ControlPlane-Role - Worker: arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Worker-Role Operator IAM Roles: - arn:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-ingress-operator-cloud-credentials - arn:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-cluster-csi-drivers-ebs-cloud-credent - arn:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-machine-api-aws-cloud-credentials - arn:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-cloud-credential-operator-cloud-crede - arn:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-image-registry-installer-cloud-creden State: ready Private: No Created: Oct 1 2021 08:12:25 UTC Details Page: https://console.redhat.com/openshift/details/s/<subscription_id> OIDC Endpoint URL: https://rh-oidc.s3.<aws_region>.amazonaws.com/<cluster_id>
以下の
Stateフィールドの変更は、クラスターインストールの進捗として出力に表示されます。-
waiting (Waiting for OIDC configuration) -
pending (Preparing account) -
installing (DNS setup in progress) -
installing ready注記インストールが失敗した場合や、約 40 分後に
Stateフィールドがreadyに変わらない場合は、インストールのトラブルシューティングに関するドキュメントで詳細を確認してください。詳細は、インストールのトラブルシューティングを参照してください。Red Hat サポートにサポートを依頼する手順は、Red Hat OpenShift Service on AWS のサポートを受けるを参照してください。
-
OpenShift インストーラーログを監視して、クラスター作成の進捗を追跡します。
$ rosa logs install --cluster <cluster_name|cluster_id> --watch 1- 1
--watchフラグを指定して、新規ログメッセージをインストールの進捗として監視します。この引数は任意です。