環境の準備
Red Hat OpenShift Service on AWS の計画、制限、およびスケーラビリティー
概要
第1章 Red Hat OpenShift Service on AWS をデプロイするための前提条件のチェックリスト リンクのコピーリンクがクリップボードにコピーされました!
これは、Red Hat OpenShift Service on AWS クラスターを作成するために必要な前提条件の大まかなチェックリストです。
インストールプロセスを実行するマシンは、以下にアクセスできる必要があります。
- Amazon Web Services API および認証サービスエンドポイント
-
Red Hat OpenShift API および認証サービスエンドポイント (
api.openshift.com
およびsso.redhat.com
) - デプロイ中にインストールアーティファクトを取得するためのインターネット接続
1.1. アカウントと権限 リンクのコピーリンクがクリップボードにコピーされました!
次のアカウント、認証情報、および権限があることを確認してください。
1.1.1. AWS アカウント リンクのコピーリンクがクリップボードにコピーされました!
- AWS アカウントをお持ちでない場合は作成してください。
- AWS アカウントへのログインに必要な認証情報を収集します。
- AWS アカウントに ROSA CLI を使用するための権限があることを確認します (一般的な ROSA CLI コマンドに対する最小権限)。
AWS コンソール で、お客様の AWS アカウントに対して Red Hat OpenShift Service on AWS を有効にします。
-
アカウントが組織の管理アカウント (AWS 請求の目的で使用) である場合は、アカウントで
aws-marketplace:Subscribe
権限が利用可能である必要があります。詳細は、サービスコントロールポリシー (SCP) の前提条件 を参照してください。トラブルシューティングについては、AWS ドキュメント AWS Organizations service control policy denies required AWS Marketplace permissions を参照してください。
-
アカウントが組織の管理アカウント (AWS 請求の目的で使用) である場合は、アカウントで
- 制限が厳しいタグポリシーが有効になっていないことを確認してください。詳細は、AWS ドキュメントの Tag policies を参照してください。
1.1.2. Red Hat アカウント リンクのコピーリンクがクリップボードにコピーされました!
- Red Hat Hybrid Cloud Console 用の Red Hat アカウントがまだない場合は作成します。
- Red Hat アカウントへのログインに必要な認証情報を収集します。
1.2. CLI 要件 リンクのコピーリンクがクリップボードにコピーされました!
クラスターをデプロイするには、いくつかの CLI (コマンドラインインターフェイス) ツールをダウンロードしてインストールする必要があります。
1.2.1. AWS CLI (aws) リンクのコピーリンクがクリップボードにコピーされました!
- AWS コマンドラインインターフェイス をインストールします。
- AWS CLI を使用して AWS アカウントにログインします (Sign in through the AWS CLI)。
アカウントのアイデンティティーを確認します。
aws sts get-caller-identity
$ aws sts get-caller-identity
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ELB (Elastic Load Balancing) のサービスロールが存在するかどうかを確認します。
aws iam get-role --role-name "AWSServiceRoleForElasticLoadBalancing"
$ aws iam get-role --role-name "AWSServiceRoleForElasticLoadBalancing"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ロールが存在しない場合は、次のコマンドを実行して作成します。
aws iam create-service-linked-role --aws-service-name "elasticloadbalancing.amazonaws.com"
$ aws iam create-service-linked-role --aws-service-name "elasticloadbalancing.amazonaws.com"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.2.2. ROSA CLI (rosa) リンクのコピーリンクがクリップボードにコピーされました!
- Web コンソール から ROSA CLI をインストールします。
rosa login
を実行し、コマンド出力の指示に従って Red Hat アカウントにログインします。rosa login
$ rosa login To login to your Red{nbsp}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 または、
$ rosa login --token=abc…
コマンド全体をコピーして、ターミナルに貼り付けることもできます。rosa login --token=<abc..>
$ rosa login --token=<abc..>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 正しいアカウントと認証情報を使用してログインしていることを確認します。
rosa whoami
$ rosa whoami
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.2.3. OpenShift CLI (oc) リンクのコピーリンクがクリップボードにコピーされました!
OpenShift CLI (oc
) は Red Hat OpenShift Service on AWS クラスターをデプロイするために必須ではありませんが、デプロイ後にクラスターとの対話に便利なツールです。
-
OpenShift Cluster Manager の Command-line interface (CLI) tools ページから
oc
をダウンロードしてインストールするか、OpenShift CLI のスタートガイド の手順を実行します。 次のコマンドを実行して、OpenShift CLI が正しくインストールされていることを確認します。
rosa verify openshift-client
$ rosa verify openshift-client
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.3. AWS インフラストラクチャーの前提条件 リンクのコピーリンクがクリップボードにコピーされました!
必要に応じて、クラスターのデプロイに十分なクォータが AWS アカウントにあることを確認します。
rosa verify quota
$ rosa verify quota
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、アカウントに割り当てられた合計クォータのみをチェックします。そのクォータからすでに消費されたクォータの量は反映されません。クォータはクラスターのデプロイ中に検証されるため、このコマンドの実行は任意です。ただし、Red Hat では、クォータの可用性の問題によってデプロイが中断されないように、このコマンドを実行して事前にクォータを確認することを推奨しています。
- Red Hat OpenShift Service on AWS クラスターのデプロイ中にプロビジョニングされるリソースの詳細は、プロビジョニングされる AWS インフラストラクチャー を参照してください。
- 必要な AWS サービスクォータの詳細は、必要な AWS サービスクォータ を参照してください。
1.4. サービス制御ポリシー (SCP) の前提条件 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターは、AWS 組織単位内の AWS アカウントでホストされます。Service Control Policy (SCP) が作成され、AWS サブアカウントのアクセスが許可されるサービスを管理する AWS Organizational Unit に適用されます。
- クラスターに必要なロールやポリシーよりも、組織の SCP の制限が厳しくないことを確認してください。詳細は、SCP の有効な権限の最小セット を参照してください。
- Red Hat OpenShift Service on AWS クラスターを作成すると、関連付けられた AWS OpenID Connect (OIDC) アイデンティティープロバイダーが作成されます。
1.5. ネットワークの前提条件 リンクのコピーリンクがクリップボードにコピーされました!
ネットワークの観点から必要とされる事項。
1.5.1. 最小帯域幅 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS では、クラスターのデプロイ中、クラスターインフラストラクチャーと、デプロイ用のアーティファクトおよびリソースを提供するパブリックインターネットまたはプライベートネットワークロケーションとの間に、最低 120 Mbps の帯域幅が必要です。ネットワーク接続が 120 Mbps より遅い場合 (たとえば、プロキシー経由で接続している場合)、クラスターのインストールプロセスがタイムアウトし、デプロイメントが失敗します。
クラスターのデプロイ後のネットワーク要件はワークロードに基づきます。ただし、最小帯域幅 120 Mbps は、クラスターと Operator を適切なタイミングで確実にアップグレードするために役立ちます。
1.5.2. ファイアウォール リンクのコピーリンクがクリップボードにコピーされました!
- ファイアウォールを設定して、AWS ファイアウォールの前提条件 に記載されているドメインおよびポートへのアクセスを許可します。
1.5.3. クラスターデプロイ前の VPC の作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターは、既存の AWS Virtual Private Cloud (VPC) にデプロイする必要があります。
別のクラスター用にインストーラーによって自動的に作成された VPC に新しい Red Hat OpenShift Service on AWS クラスターをインストールすることはサポートされていません。
VPC は、次の表に示す要件を満たしている必要があります。
要件 | 詳細 |
---|---|
VPC 名 | クラスターを作成するときは、特定の VPC 名と ID が必要です。 |
CIDR 範囲 | VPC CIDR 範囲はマシンの CIDR と一致する必要があります。 |
アベイラビリティーゾーン | 単一ゾーンの場合は 1 つの可用性ゾーンが必要で、複数ゾーンの場合は 3 つの可用性ゾーンが必要です。 |
パブリックサブネット | パブリッククラスターには、NAT ゲートウェイを備えたパブリックサブネットが 1 つ必要です。プライベートクラスターにはパブリックサブネットは必要ありません。 |
DNS ホスト名と解決 | DNS ホスト名と解決が有効になっていることを確認する必要があります。 |
1.5.4. 追加のカスタムセキュリティーグループ リンクのコピーリンクがクリップボードにコピーされました!
クラスターの作成中に、既存の管理対象外の VPC が含まれるクラスターにカスタムセキュリティーグループを追加できます。これを行うには、クラスターを作成する前に次の前提条件を満たしてください。
- クラスターを作成する前に、AWS でカスタムセキュリティーグループを作成する必要があります。
- カスタムセキュリティーグループを、クラスターの作成に使用している VPC に関連付けます。カスタムセキュリティーグループを他の VPC に関連付けないでください。
-
場合によって、
Security groups per network interface
の AWS クォータの追加を要求する必要があります。
詳細は、セキュリティーグループ の詳細な要件を参照してください。
1.5.5. カスタム DNS とドメイン リンクのコピーリンクがクリップボードにコピーされました!
クラスターのカスタムドメインネームサーバーとカスタムドメイン名を設定できます。これを行うには、クラスターを作成する前に次の前提条件を満たしてください。
-
デフォルトでは、Red Hat OpenShift Service on AWS クラスターの場合、クラスターの作成と操作を正常に行うために、
domain name servers
オプションをAmazonProvidedDNS
に設定する必要があります。 - クラスターでカスタムの DNS サーバーとドメイン名を使用するには、Red Hat OpenShift Service on AWS のインストーラーが、内部 IP とサービスを解決できるように、デフォルトの DHCP オプションで VPC DNS を使用できる必要があります。つまり、クラスターを作成する前に、DNS ルックアップを DNS サーバーに転送するためのカスタム DHCP オプションセットを作成し、このオプションセットを VPC に関連付ける必要があります。
次のコマンドを実行して、VPC が VPC Resolver を使用していることを確認します。
aws ec2 describe-dhcp-options
$ aws ec2 describe-dhcp-options
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第2章 Red Hat OpenShift Service on AWS をデプロイするための詳細な要件 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS は、Red Hat がお客様の既存の Amazon Web Services (AWS) アカウントにクラスターをデプロイできるモデルを提供します。
クラスターをインストールする前に、次の前提条件が満たされていることを確認してください。
2.1. Red Hat OpenShift Service on AWS クラスターのお客様の要件 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターをデプロイする前に、次の前提条件を満たす必要があります。
2.2. AWS アカウント リンクのコピーリンクがクリップボードにコピーされました!
- クラスターをデプロイするには、AWS アカウントに十分なクォータを許可する必要があります。
- 組織が SCP ポリシーを適用して強制指定する場合、これらのポリシーは、クラスターに必要なロールとポリシーよりも厳しい制限を課さないようにします。
- 同じ AWS アカウント内にネイティブ AWS サービスをデプロイできます。
- インストールプログラムが Elastic Load Balancing (ELB) を設定できるようにするには、アカウントにサービスにリンクされたロールが必要です。詳細は、「Elastic Load Balancing (ELB) サービスにリンクされたロールの作成」を参照してください。
2.2.1. サポート要件 リンクのコピーリンクがクリップボードにコピーされました!
- Red Hat は、少なくとも AWS の Business Support をご利用になることをお客様に推奨します。
- Red Hat は、お客様の代わりに AWS サポートをリクエストする許可をお客様から得る場合があります。
- Red Hat は、お客様のアカウントで AWS リソース制限の引き上げをリクエストする許可をお客様から受けている場合があります。
- Red Hat は、この要件に関するセクションで指定されていない場合に、すべての Red Hat OpenShift Service on AWS クラスターに関する制約、制限、予想される内容およびデフォルトの内容を管理します。
2.2.2. セキュリティー要件 リンクのコピーリンクがクリップボードにコピーされました!
- Red Hat には、許可リストにある IP アドレスから EC2 ホストおよび API サーバーへの ingress アクセスが必要です。
- Red Hat では、「ファイアウォールの前提条件」セクションに記載されているドメインに対して Egress を許可する必要があります。ゼロ Egress クラスターはこの要件の適用対象外です。
2.3. OpenShift Cluster Manager を使用するための要件 リンクのコピーリンクがクリップボードにコピーされました!
次の設定詳細は OpenShift Cluster Manager を使用してクラスターを管理する場合にのみ必要です。CLI ツールのみを使用する場合は、これらの要件を無視できます。
2.3.1. AWS アカウントの関連付け リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Cluster Manager (console.redhat.com
) を使用して Red Hat OpenShift Service on AWS をプロビジョニングする場合は、Amazon Resource Name (ARN) を使用して、ocm-role
および user-role
IAM ロールを AWS アカウントに関連付ける必要があります。この関連付けプロセスは アカウントリンク とも呼ばれます。
ocm-role
ARN は Red Hat 組織にラベルとして保存され、user-role
ARN は Red Hat ユーザーアカウント内にラベルとして保存されます。Red Hat はこれらの ARN ラベルを使用して、ユーザーが有効なアカウント所有者であり、AWS アカウントでプロビジョニングタスクを実行するための適切な権限があることを確認します。
2.3.2. AWS アカウントを IAM ロールに関連付ける リンクのコピーリンクがクリップボードにコピーされました!
ROSA CLI rosa
を使用して、AWS アカウントを既存の IAM ロールに関連付け (リンク) できます。
前提条件
- AWS アカウントがある。
- AWS アカウント全体のロールをインストールするために必要な権限がある。詳細は、このセクションの「関連情報」を参照してください。
-
インストールホストに最新の AWS (
aws
) および ROSA (rosa
) CLI をインストールして設定した。 ocm-role
およびuser-role
IAM ロールを作成したが、まだ AWS アカウントにリンクしていない。次のコマンドを実行して、IAM ロールがすでにリンクされているかどうかを確認できます。rosa list ocm-role
$ rosa list ocm-role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow rosa list user-role
$ rosa list user-role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 両方のロールの
Linked
列にYes
が表示されている場合、ロールはすでに AWS アカウントにリンクされています。
手順
ROSA CLI で、Amazon Resource Name (ARN) を使用して
ocm-role
リソースを Red Hat 組織にリンクします。注記rosa link
コマンドを実行するには、Red Hat Organization Administrator (組織管理者権限) が必要です。ocm-role
リソースを AWS アカウントにリンクすると、それが有効になり、組織内のすべてのユーザーに表示されるようになります。rosa link ocm-role --role-arn <arn>
$ rosa link ocm-role --role-arn <arn>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
I: Linking OCM role ? Link the '<AWS ACCOUNT ID>` role with organization '<ORG ID>'? Yes I: Successfully linked role-arn '<AWS ACCOUNT ID>' with organization account '<ORG ID>'
I: Linking OCM role ? Link the '<AWS ACCOUNT ID>` role with organization '<ORG ID>'? Yes I: Successfully linked role-arn '<AWS ACCOUNT ID>' with organization account '<ORG ID>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ROSA CLI で、Amazon Resource Name (ARN) を使用して、
user-role
リソースを Red Hat ユーザーアカウントにリンクします。rosa link user-role --role-arn <arn>
$ rosa link user-role --role-arn <arn>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
I: Linking User role ? Link the 'arn:aws:iam::<ARN>:role/ManagedOpenShift-User-Role-125' role with organization '<AWS ID>'? Yes I: Successfully linked role-arn 'arn:aws:iam::<ARN>:role/ManagedOpenShift-User-Role-125' with organization account '<AWS ID>'
I: Linking User role ? Link the 'arn:aws:iam::<ARN>:role/ManagedOpenShift-User-Role-125' role with organization '<AWS ID>'? Yes I: Successfully linked role-arn 'arn:aws:iam::<ARN>:role/ManagedOpenShift-User-Role-125' with organization account '<AWS ID>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
関連情報
2.3.3. 複数の AWS アカウントを Red Hat 組織に関連付ける リンクのコピーリンクがクリップボードにコピーされました!
Red Hat 組織には、複数の AWS アカウントを関連付けることができます。複数のアカウントを関連付けると、Red Hat 組織から、関連付けられた任意の AWS アカウントに Red Hat OpenShift Service on AWS クラスターを作成できます。
この機能を使用すると、お客様のビジネスに適した特性に応じて、異なる AWS プロファイルでクラスターを作成できます。たとえば、リージョンごとに 1 つの AWS プロファイルを使用して、リージョンに紐付いた環境を作成できます。
前提条件
- AWS アカウントがある。
- クラスターを作成するために OpenShift Cluster Manager を使用中である。
- AWS アカウント全体のロールをインストールするために必要な権限がある。
-
インストールホストに最新の AWS (
aws
) および ROSA (rosa
) CLI をインストールして設定した。 -
Red Hat OpenShift Service on AWS 用の
ocm-role
およびuser-role
IAM ロールを作成した。
手順
追加の AWS アカウントを関連付けるには、最初にローカル AWS 設定でプロファイルを作成します。次に、追加の AWS アカウントに ocm-role
、user、および account のロールを作成して、アカウントを Red Hat 組織に関連付けます。
追加のリージョンでロールを作成するには、rosa create
コマンドの実行時に --profile <aws-profile>
パラメーターを指定し、<aws_profile>
を追加のアカウントプロファイル名に置き換えます。
OpenShift Cluster Manager ロールを作成するときに AWS アカウントプロファイルを指定するには、以下を実行します。
rosa create --profile <aws_profile> ocm-role
$ rosa create --profile <aws_profile> ocm-role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザーロールを作成するときに AWS アカウントプロファイルを指定するには、以下を実行します。
rosa create --profile <aws_profile> user-role
$ rosa create --profile <aws_profile> user-role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow アカウントロールを作成するときに AWS アカウントプロファイルを指定するには、以下を実行します。
rosa create --profile <aws_profile> account-roles
$ rosa create --profile <aws_profile> account-roles
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
プロファイルを指定しない場合は、デフォルトの AWS プロファイルとそれに関連付けられた AWS リージョンが使用されます。
2.4. オプトインリージョンでのクラスターデプロイの要件 リンクのコピーリンクがクリップボードにコピーされました!
AWS のオプトインリージョンとは、AWS アカウントでデフォルトで有効になっていないリージョンです。オプトインリージョンで AWS Security Token Service (STS) を使用する Red Hat OpenShift Service on AWS クラスターをデプロイする場合は、次の要件を満たす必要があります。
- リージョンは AWS アカウントで有効にする必要があります。オプトインリージョンの有効化の詳細は、AWS ドキュメント AWS リージョンの管理 を参照してください。
AWS アカウントのセキュリティートークンバージョンは、バージョン 2 に設定する必要があります。オプトインリージョンにバージョン 1 セキュリティートークンを使用することはできません。
重要セキュリティートークンのバージョン 2 に更新すると、トークンが長くなるため、トークンを保管するシステムに影響が出ることがあります。詳細は、the AWS documentation on setting STS preferences を参照してください。
2.4.1. AWS セキュリティートークンのバージョン設定 リンクのコピーリンクがクリップボードにコピーされました!
AWS オプトインリージョンで AWS Security Token Service (STS) を使用する Red Hat OpenShift Service on AWS クラスターを作成する場合は、AWS アカウントでセキュリティートークンのバージョンをバージョン 2 に設定する必要があります。
前提条件
- インストールホストに最新の AWS CLI をインストールして設定した。
手順
AWS CLI の設定で定義されている AWS アカウントの ID をリスト表示します。
aws sts get-caller-identity --query Account --output json
$ aws sts get-caller-identity --query Account --output json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力が該当する AWS アカウントの ID と一致していることを確認します。
AWS アカウントに設定されているセキュリティートークンのバージョンを記載します。
aws iam get-account-summary --query SummaryMap.GlobalEndpointTokenVersion --output json
$ aws iam get-account-summary --query SummaryMap.GlobalEndpointTokenVersion --output json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
1
1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AWS アカウントの全リージョンのセキュリティートークンのバージョンをバージョン 2 に更新するには、以下のコマンドを実行します。
aws iam set-security-token-service-preferences --global-endpoint-token-version v2Token
$ aws iam set-security-token-service-preferences --global-endpoint-token-version v2Token
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要セキュリティートークンのバージョン 2 に更新すると、トークンが長くなるため、トークンを保管するシステムに影響が出ることがあります。詳細は、the AWS documentation on setting STS preferences を参照してください。
2.5. AWS の Red Hat 管理 IAM リファレンス リンクのコピーリンクがクリップボードにコピーされました!
Red Hat は、Amazon Web Services (AWS) の IAM ポリシー、IAM ユーザー、または IAM ロールの作成と管理については責任を負いません。これらのロールとポリシーの作成については、IAM ロールに関する以下のセクションを参照してください。
-
ocm
CLI を使用するには、ocm-role
およびuser-role
リソースが必要です。必要な IAM ロールとリソース を参照してください。 - クラスターが 1 つの場合は、アカウント全体の IAM ロールとポリシー参照 を参照してください。
- 各クラスターには、適切な Operator ロールが必要です。クラスター固有の Operator IAM ロール参照 を参照してください。
2.6. プロビジョニングされる AWS インフラストラクチャー リンクのコピーリンクがクリップボードにコピーされました!
以下は、デプロイされた Red Hat OpenShift Service on AWS クラスターにプロビジョニングされる Amazon Web Services (AWS) コンポーネントの概要です。
2.6.1. EC2 インスタンス リンクのコピーリンクがクリップボードにコピーされました!
AWS EC2 インスタンスは、Red Hat OpenShift Service on AWS をデプロイするのに必要です。
ワーカーノードとして使用するために、少なくとも 2 つの m5.xlarge
EC2 インスタンスがデプロイされます。
ワーカーノードに表示されるインスタンスタイプはデフォルト値ですが、ワークロードの要件に応じてワーカーノードのインスタンスタイプをカスタマイズできます。
2.6.2. Amazon Elastic Block Store ストレージ リンクのコピーリンクがクリップボードにコピーされました!
Amazon Elastic Block Store (Amazon EBS) ブロックストレージは、ローカルノードストレージと永続ボリュームストレージの両方に使用されます。デフォルトでは、各 EC2 インスタンスに対して次のストレージがプロビジョニングされます。
ノードのボリューム
-
タイプ:
AWS EBS GP3
- デフォルトサイズ: 300 GiB (作成時に調整可能)
- 最小サイズ: 75 GiB
-
タイプ:
ワークロードの永続ボリューム
-
デフォルトのストレージクラス:
gp3-csi
-
プロビジョナー:
ebs.csi.aws.com
- 動的な永続ボリュームのプロビジョニング
-
デフォルトのストレージクラス:
2.6.3. Elastic Load Balancing リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、デフォルトの Ingress コントローラーで使用するために、1 つのネットワークロードバランサーが作成されます。ワークロードのニーズに応じて、次のタイプのロードバランサーを追加で作成できます。
- Classic Load Balancer
- Network Load Balancer
- Application Load Balancer
詳細は、AWS に関する ELB ドキュメント を参照してください。
2.6.4. S3 ストレージ リンクのコピーリンクがクリップボードにコピーされました!
イメージレジストリーは、AWS S3 ストレージによって支えられています。S3 の使用量とクラスターのパフォーマンスを最適化するために、リソースのプルーニングを定期的に実行します。
通常のサイズがそれぞれ 2TB の 2 つのバケットが必要です。
2.6.5. VPC リンクのコピーリンクがクリップボードにコピーされました!
次の要件に従って VPC を設定します。
サブネット: すべてのクラスターに、アベイラビリティーゾーンごとに少なくとも 1 つのプライベートサブネットが必要です。たとえば、単一ゾーンのクラスターには 1 つのプライベートサブネットが必要であり、3 つのアベイラビリティーゾーンを持つクラスターには 3 つのプライベートサブネットが必要です。
クラスターがパブリックインターネットを含むクラスター外部のネットワークに直接アクセスする必要がある場合は、少なくとも 1 つのパブリックサブネットが必要です。
Red Hat では、クラスターごとに一意のサブネットを使用することを強く推奨しています。複数のクラスター間でサブネットを共有することは推奨しません。
注記パブリックサブネット は、インターネットゲートウェイを介してインターネットに直接接続します。
プライベートサブネット は、ネットワークアドレス変換 (NAT) ゲートウェイを介してインターネットに接続します。
- ルートテーブル: プライベートサブネットごとに 1 つのルートテーブルと、クラスターごとに 1 つの追加テーブル。
- インターネットゲートウェイ: クラスターごとに 1 つのインターネットゲートウェイ。
- NAT ゲートウェイ: パブリックサブネットごとに 1 つの NAT ゲートウェイ。
2.6.6. セキュリティーグループ リンクのコピーリンクがクリップボードにコピーされました!
AWS セキュリティーグループは、プロトコルおよびポートアクセスレベルでセキュリティーを提供します。これらは EC2 インスタンスおよび Elastic Load Balancing (ELB) ロードバランサーに関連付けられます。各セキュリティーグループには、1 つ以上の EC2 インスタンスの送受信トラフィックをフィルタリングする一連のルールが含まれます。
クラスターのインストールと操作に必要なポートがネットワーク上で開いており、ホスト間のアクセスを許可するように設定されていることを確認します。デフォルトのセキュリティーグループの要件は、デフォルトのセキュリティーグループに必要なポート に記載されています。
グループ | 型 | IP プロトコル | ポート範囲 |
---|---|---|---|
WorkerSecurityGroup |
|
|
|
|
|
2.6.6.1. 追加のカスタムセキュリティーグループ リンクのコピーリンクがクリップボードにコピーされました!
クラスターの作成時に、追加のカスタムセキュリティーグループを追加できます。カスタムセキュリティーグループには次の制限があります。
- クラスターを作成する前に、AWS でカスタムセキュリティーグループを作成する必要があります。詳細は、Amazon EC2 security groups for Linux instances を参照してください。
- カスタムセキュリティーグループを、クラスターのインストール先の VPC に関連付ける必要があります。カスタムセキュリティーグループを別の VPC に関連付けることはできません。
- カスタムセキュリティーグループを追加する場合は、VPC の追加クォータをリクエストする必要がある場合があります。Red Hat OpenShift Service on AWS の AWS クォータ要件の詳細は、環境の準備 の 必要な AWS サービスクォータ を参照してください。AWS クォータ引き上げのリクエストは、Requesting a quota increase を参照してください。
2.7. ネットワークの前提条件 リンクのコピーリンクがクリップボードにコピーされました!
2.7.1. 最小帯域幅 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS では、クラスターのデプロイ中、クラスターインフラストラクチャーと、デプロイ用のアーティファクトおよびリソースを提供するパブリックインターネットまたはプライベートネットワークロケーションとの間に、最低 120 Mbps の帯域幅が必要です。ネットワーク接続が 120 Mbps より遅い場合 (たとえば、プロキシー経由で接続している場合)、クラスターのインストールプロセスがタイムアウトし、デプロイメントが失敗します。
クラスターのデプロイ後のネットワーク要件はワークロードに基づきます。ただし、最小帯域幅 120 Mbps は、クラスターと Operator を適切なタイミングで確実にアップグレードするために役立ちます。
2.7.2. AWS ファイアウォールの前提条件 リンクのコピーリンクがクリップボードにコピーされました!
ファイアウォールを使用して Red Hat OpenShift Service on AWS クラスターからの Egress トラフィックを制御する場合は、以下の特定のドメインとポートの組み合わせへのアクセスを許可するようにファイアウォールを設定する必要があります。Red Hat OpenShift Service on AWS は、フルマネージド OpenShift サービスを提供するためにこのアクセスを必要とします。
前提条件
- AWS Virtual Private Cloud (VPC) に Amazon S3 ゲートウェイエンドポイントを設定した。このエンドポイントは、クラスターから Amazon S3 サービスへのリクエストを完了するために必要です。
手順
パッケージとツールのインストールおよびダウンロードに使用される以下の URL を許可リストに指定します。
Expand ドメイン ポート 機能 registry.redhat.io
443
コアコンテナーイメージを指定します。
quay.io
443
コアコンテナーイメージを指定します。
cdn01.quay.io
443
コアコンテナーイメージを指定します。
cdn02.quay.io
443
コアコンテナーイメージを指定します。
cdn03.quay.io
443
コアコンテナーイメージを指定します。
cdn04.quay.io
443
コアコンテナーイメージを指定します。
cdn05.quay.io
443
コアコンテナーイメージを指定します。
cdn06.quay.io
443
コアコンテナーイメージを指定します。
sso.redhat.com
443
必須。
https://console.redhat.com/openshift
サイトでは、sso.redhat.com
からの認証を使用してプルシークレットをダウンロードし、Red Hat SaaS ソリューションを使用してサブスクリプション、クラスターインベントリー、チャージバックレポートなどのモニタリングを行います。quay-registry.s3.amazonaws.com
443
コアコンテナーイメージを指定します。
quayio-production-s3.s3.amazonaws.com
443
コアコンテナーイメージを指定します。
registry.access.redhat.com
443
Red Hat Ecosytem Catalog に保存されているすべてのコンテナーイメージをホストします。さらに、レジストリーは、開発者が OpenShift および Kubernetes 上で構築するのに役立つ
odo
CLI ツールへのアクセスを提供します。access.redhat.com
443
必須。コンテナークライアントが
registry.access.redhat.com
からイメージを取得するときにイメージを検証するために必要な署名ストアをホストします。registry.connect.redhat.com
443
すべてのサードパーティーのイメージと認定 Operator に必要です。
console.redhat.com
443
必須。クラスターと OpenShift Cluster Manager 間の対話を可能にし、アップグレードのスケジューリングなどの機能を有効にします。
sso.redhat.com
443
https://console.redhat.com/openshift
サイトは、sso.redhat.com
からの認証を使用します。pull.q1w2.quay.rhcloud.com
443
quay.io が利用できない場合のフォールバックとして、コアコンテナーイメージを提供します。
catalog.redhat.com
443
registry.access.redhat.com
およびhttps://registry.redhat.io
サイトはcatalog.redhat.com
にリダイレクトされます。oidc.op1.openshiftapps.com
443
マネージド OIDC 設定で STS を実装するために、Red Hat OpenShift Service on AWS によって使用されます。
次のテレメトリー URL を許可リストに追加します。
Expand ドメイン ポート 機能 cert-api.access.redhat.com
443
テレメトリーに必要です。
api.access.redhat.com
443
テレメトリーに必要です。
infogw.api.openshift.com
443
テレメトリーに必要です。
console.redhat.com
443
テレメトリーと Red Hat Insights に必要です。
observatorium-mst.api.openshift.com
443
マネージド OpenShift 固有のテレメトリーに使用されます。
observatorium.api.openshift.com
443
マネージド OpenShift 固有のテレメトリーに使用されます。
マネージドクラスターでは、テレメトリーを有効にする必要があります。これは、Red Hat が問題に迅速に対応し、お客様をより適切にサポートし、製品のアップグレードがクラスターに与える影響をよりよく理解できるようにするためです。Red Hat によるリモートヘルスモニタリングデータの使用方法の詳細は 関連情報 セクションの リモートヘルスモニタリングについて を参照してください。
次の Amazon Web Services (AWS) API の URL を許可リストに追加します。
Expand ドメイン ポート 機能 .amazonaws.com
443
AWS サービスおよびリソースへのアクセスに必要です。
または、Amazon Web Services (AWS) API にワイルドカードを使用しない場合は、次の URL を許可リストに追加する必要があります。
Expand ドメイン ポート 機能 ec2.amazonaws.com
443
AWS 環境でのクラスターのインストールおよび管理に使用されます。
events.<aws_region>.amazonaws.com
443
AWS 環境でのクラスターのインストールおよび管理に使用されます。
iam.amazonaws.com
443
AWS 環境でのクラスターのインストールおよび管理に使用されます。
route53.amazonaws.com
443
AWS 環境でのクラスターのインストールおよび管理に使用されます。
sts.amazonaws.com
443
AWS STS のグローバルエンドポイントを使用するように設定されたクラスターの場合は、AWS 環境にクラスターをインストールおよび管理するために使用されます。
sts.<aws_region>.amazonaws.com
443
AWS STS の地域化されたエンドポイントを使用するように設定されたクラスターの場合は、AWS 環境にクラスターをインストールおよび管理するために使用されます。詳細は、AWS STS の地域化されたエンドポイント を参照してください。
tagging.us-east-1.amazonaws.com
443
AWS 環境でのクラスターのインストールおよび管理に使用されます。このエンドポイントは、クラスターがデプロイメントされているリージョンに関係なく、常に us-east-1 です。
ec2.<aws_region>.amazonaws.com
443
AWS 環境でのクラスターのインストールおよび管理に使用されます。
elasticloadbalancing.<aws_region>.amazonaws.com
443
AWS 環境でのクラスターのインストールおよび管理に使用されます。
tagging.<aws_region>.amazonaws.com
443
タグの形式で AWS リソースに関するメタデータを割り当てることができます。
次の OpenShift URL を許可リストに追加します。
Expand ドメイン ポート 機能 mirror.openshift.com
443
ミラーリングされたインストールのコンテンツおよびイメージへのアクセスに使用されます。このサイトはリリースイメージ署名のソースでもあります。
api.openshift.com
443
クラスターに更新が利用可能かどうかを確認するのに使用されます。
次の Site Reliability Engineering (SRE) および管理 URL を許可リストに追加します。
Expand ドメイン ポート 機能 api.pagerduty.com
443
このアラートサービスは、クラスター内の alertmanager が使用します。これにより、Red Hat SRE に対してイベントの SRE 通知に関するアラートが送信されます。
events.pagerduty.com
443
このアラートサービスは、クラスター内の alertmanager が使用します。これにより、Red Hat SRE に対してイベントの SRE 通知に関するアラートが送信されます。
api.deadmanssnitch.com
443
Red Hat OpenShift Service on AWS がクラスターが使用可能で実行中であるかどうかを示す定期的な ping を送信するために使用するアラートサービス。
nosnch.in
443
Red Hat OpenShift Service on AWS がクラスターが使用可能で実行中であるかどうかを示す定期的な ping を送信するために使用するアラートサービス。
http-inputs-osdsecuritylogs.splunkcloud.com
443
必須。
splunk-forwarder-operator
によって使用され、ログベースのアラートに Red Hat SRE が使用するロギング転送エンドポイントとして使用されます。sftp.access.redhat.com
(推奨)22
must-gather-operator
が、クラスターに関する問題のトラブルシューティングに役立つ診断ログをアップロードするのに使用される SFTP サーバー。
2.7.3. Red Hat OpenShift Service on AWS のファイアウォールの前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- ファイアウォールを使用して Red Hat OpenShift Service on AWS からの Egress トラフィックを制御する場合、お使いの Virtual Private Cloud (VPC) が、Amazon S3 ゲートウェイなどを介してクラスターから Amazon S3 サービスへのリクエストを完了できる必要があります。
- また、次のドメインとポートの組み合わせへのアクセスを許可するようにファイアウォールを設定する必要があります。
2.7.3.1. インストールパッケージとツールのドメイン リンクのコピーリンクがクリップボードにコピーされました!
ドメイン | ポート | 機能 |
---|---|---|
| 443 | コアコンテナーイメージを指定します。 |
| 443 | コアコンテナーイメージを指定します。 |
| 443 | コアコンテナーイメージを指定します。 |
| 443 | コアコンテナーイメージを指定します。 |
| 443 | コアコンテナーイメージを指定します。 |
| 443 | コアコンテナーイメージを指定します。 |
| 443 | コアコンテナーイメージを指定します。 |
| 443 | コアコンテナーイメージを指定します。 |
| 443 | コアコンテナーイメージを指定します。 |
| 443 |
必須。Red Hat Ecosytem Catalog に保存されているすべてのコンテナーイメージをホストします。さらに、レジストリーは、開発者が OpenShift および Kubernetes 上で構築するのに役立つ |
| 443 |
必須。コンテナークライアントが |
| 443 | 必須。クラスターに利用可能な更新を確認するために使用されます。 |
| 443 | 必須。ミラーリングされたインストールのコンテンツおよびイメージへのアクセスに使用されます。Cluster Version Operator (CVO) には単一の機能ソースのみが必要ですが、このサイトはリリースイメージ署名のソースでもあります。 |
2.7.3.2. テレメトリーのドメイン リンクのコピーリンクがクリップボードにコピーされました!
ドメイン | ポート | 機能 |
---|---|---|
| 443 | テレメトリーに必要です。 |
| 443 | 必須。クラスターと OpenShift Cluster Manager 間の対話を可能にし、アップグレードのスケジューリングなどの機能を有効にします。 |
| 443 |
必須。 |
マネージドクラスターでは、テレメトリーを有効にする必要があります。これは、Red Hat が問題に迅速に対応し、お客様をより適切にサポートし、製品のアップグレードがクラスターに与える影響をよりよく理解できるようにするためです。Red Hat によるリモートヘルスモニタリングデータの使用方法の詳細は、リモートヘルスモニタリングについて を参照してください。
2.7.3.3. Amazon Web Services (AWS) API のドメイン リンクのコピーリンクがクリップボードにコピーされました!
ドメイン | ポート | 機能 |
---|---|---|
| 443 |
必須。AWS Secure Token Service (STS) リージョンエンドポイントにアクセスするために使用されます。 |
- これは、AWS Virtual Private Cloud (VPC) 内のプライベートインターフェイスエンドポイントをリージョンの AWS STS エンドポイントに設定することによっても実現できます。
2.7.3.4. ワークロードのドメイン リンクのコピーリンクがクリップボードにコピーされました!
ワークロードによっては、プログラミング言語やフレームワークのリソースを提供する他のサイトへのアクセスが必要になる場合があります。
- ビルドに必要なリソースを提供するサイトへのアクセスを許可します。
- ワークロードに必要な送信 URL へのアクセスを許可します (例: OpenShift Outbound URLs to Allow)。
2.7.3.5. サードパーティーのコンテンツを有効にするためのオプションのドメイン リンクのコピーリンクがクリップボードにコピーされました!
ドメイン | ポート | 機能 |
---|---|---|
| 443 | オプション: すべてのサードパーティーのイメージと認定 Operator に必要です。 |
| 443 |
オプション: |
| 443 | オプション: Sonatype Nexus、F5 Big IP Operator に必要です。 |
次のステップ
関連情報
第3章 必要な IAM ロールとリソース リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターを作成して管理するには、AWS アカウントにいくつかのロールリソースを作成する必要があります。
3.1. 必要なロールの概要 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターを作成して管理するには、アカウント全体およびクラスター全体のロールをいくつか作成する必要があります。OpenShift Cluster Manager を使用してクラスターを作成または管理する場合は、追加のロールが必要です。
- クラスターを作成および管理する
Red Hat OpenShift Service on AWS クラスターを作成および管理するには、アカウント全体のロールがいくつか必要です。これらのロールは AWS アカウントごとに 1 回だけ作成する必要があり、クラスターごとに新たに作成する必要はありません。各ロールには 1 つ以上の AWS 管理ポリシーが割り当てられ、そのロールに必要な機能が付与されます。独自の接頭辞を指定することも、デフォルトの接頭辞 (
ManagedOpenShift
) を使用することもできます。注記AWS IAM では、ロール名の最大長が 64 文字に制限されています。クラスターのユーザー指定の接頭辞が 20 文字を超える場合、AWS IAM の 64 文字の上限を遵守するために、ロール名が切り捨てられます。
Red Hat OpenShift Service on AWS クラスターの場合、次のアカウント全体のロールを作成し、記載されている AWS 管理ポリシーをアタッチする必要があります。
Expand 表3.1 Red Hat OpenShift Service on AWS に必要なアカウントロールと AWS ポリシー ロール名 AWS ポリシー名 <prefix>-HCP-ROSA-Worker-Role
ROSAWorkerInstancePolicy
およびAmazonEC2ContainerRegistryReadOnly
<prefix>-HCP-ROSA-Support-Role
ROSASRESupportPolicy
<prefix>-HCP-ROSA-Installer-Role
ROSAInstallerPolicy
ロールの作成では、AWS アクセスまたはシークレットキーは要求されません。このワークフローのベースとして、AWS Security Token Service (STS) が使用されます。AWS STS は、一時的な制限付きの認証情報を使用して認証を行います。
- Operator 管理のクラスター機能を使用するには
一部のクラスター機能 (デフォルトで提供されるいくつかの機能を含む) は、Operator を使用して管理されます。これらの機能を使用するには、クラスター固有の Operator ロール (ROSA CLI の
operator-roles
) が必要です。このロールは、バックエンドストレージ、Ingress、レジストリーの管理などのクラスター操作を実行するために必要な一時的な権限を取得するために使用されます。この権限を取得するには、OpenID Connect (OIDC) プロバイダーを設定する必要があります。OIDC プロバイダーは、AWS Security Token Service (STS) に接続して Operator の AWS リソースへのアクセスを認証します。Red Hat OpenShift Service on AWS クラスターの場合、次の Operator ロールを作成し、記載されている AWS 管理ポリシーをアタッチする必要があります。
Expand 表3.2 ROSA with HCP に必要な Operator ロールと AWS 管理ポリシー ロール名 AWS 管理ポリシー名 openshift-cloud-network-config-controller-c
ROSACloudNetworkConfigOperatorPolicy
openshift-image-registry-installer-cloud-credentials
ROSAImageRegistryOperatorPolicy
kube-system-kube-controller-manager
ROSAKubeControllerPolicy
kube-system-capa-controller-manager
ROSANodePoolManagementPolicy
kube-system-control-plane-operator
ROSAControlPlaneOperatorPolicy
kube-system-kms-provider
ROSAKMSProviderPolicy
openshift-ingress-operator-cloud-credentials
ROSAIngressOperatorPolicy
openshift-cluster-csi-drivers-ebs-cloud-credentials
ROSAAmazonEBSCSIDriverOperatorPolicy
rosa create operator-role
コマンドを使用して Operator ロールを作成すると、作成したロールに、<cluster_name>-<hash>-<role_name>
というパターンを使用して名前が付けられます (例:test-abc1-kube-system-control-plane-operator
)。クラスター名が 15 文字を超える場合、ロール名は切り捨てられます。- OpenShift Cluster Manager を使用するには以下を実行します。
Web ユーザーインターフェイスの OpenShift Cluster Manager では、AWS アカウントと OpenShift Cluster Manager の間に信頼関係を作成するために、AWS アカウントに追加のロールを作成する必要があります。
この信頼関係は
ocm-role
AWS IAM ロールの作成と関連付けによって実現されます。このロールには、Red Hat アカウントを AWS アカウントにリンクする AWS インストーラーとの信頼ポリシーがあります。さらに、各 Web UI ユーザーを識別するためのuser-role
AWS IAM ロールも必要です。このuser-role
の AWS IAM ロールにはパーミッションがありません。OpenShift Cluster Manager を使用するには、次の AWS IAM ロールが必要です。
-
ocm-role
-
user-role
-
3.2. クラスターの作成と管理に必要なロール リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターを作成または管理するには、アカウント全体のロール (ROSA CLI の account-roles
) がいくつか必要です。クラスターの作成および管理に OpenShift Cluster Manager と ROSA CLI のどちらを通常使用するかにかかわらず、これらのロールは ROSA CLI (rosa
) を使用して作成する必要があります。これらのロールは 1 回だけ作成する必要があり、クラスターをインストールするたびに作成する必要はありません。
3.2.1. アカウント全体の STS ロールおよびポリシーの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターを作成する前に、必要なアカウント全体のロールとポリシーを作成する必要があります。
Red Hat OpenShift Service on AWS 用の特定の AWS 管理ポリシーを各ロールにアタッチする必要があります。これらの必要なアカウントロールには、顧客管理のポリシーを使用しないでください。Red Hat OpenShift Service on AWS クラスターの AWS 管理ポリシーの詳細は、AWS managed policies for ROSA を参照してください。
前提条件
- 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 ポリシーの詳細は、AWS managed IAM policies for ROSA を参照してください。
3.3. OIDC 認証に必要なリソース リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターは、その機能の実行に必要な AWS リソースへの Operator のアクセスを、OIDC と AWS Security Token Service (STS) を使用して認証します。各実稼働クラスターに独自の OIDC 設定が必要です。
3.3.1. 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
3.4. Operator によって管理されるクラスター機能に必要なロール リンクのコピーリンクがクリップボードにコピーされました!
一部のクラスター機能 (デフォルトで提供されるいくつかの機能を含む) は、Operator を使用して管理されます。クラスター固有の Operator ロール (ROSA CLI の operator-roles
) が、クラスターの OpenID Connect (OIDC) プロバイダーを使用して、Operator の AWS リソースへのアクセスを一時的に認証します。
3.4.1. クラスター固有の Operator IAM ロール参照 リンクのコピーリンクがクリップボードにコピーされました!
Operator ロールは、バックエンドストレージ、クラウド Ingress コントローラー、クラスターへの外部アクセスの管理など、クラスター操作を実行するために必要な一時的な権限を取得するために使用されます。
Operator ロールを作成する場合、一致するクラスターバージョンの Operator ポリシーはロールに割り当てられます。AWS が管理する Operator ポリシーは、AWS IAM でバージョン管理されます。最新バージョンの AWS 管理ポリシーが常に使用されるため、ROSA with HCP で使用される AWS 管理ポリシーのアップグレードを管理したりスケジュールしたりする必要はありません。
Operator ロールに一致するポリシーがアカウントに複数ある場合は、ロールの作成時に選択肢のリストが表示されます。
ロール名 | AWS 管理ポリシー名 | ロールの説明 |
---|---|---|
|
| クラスターのクラウドネットワーク認証情報を管理するために、クラウドネットワーク設定コントローラーが必要とする IAM ロール。 |
|
| ROSA Image Registry Operator がクラスターの AWS S3 内の OpenShift イメージレジストリーストレージを管理するために必要な IAM ロール。 |
|
| HCP クラスター上の OpenShift の管理に必要な IAM ロール。 |
|
| HCP クラスター上のノードの管理に必要な IAM ロール。 |
|
| HCP クラスター上のコントロールプレーンの管理に必要な IAM ロール。 |
|
| HCP クラスター上の OpenShift の管理に必要な IAM ロール。 |
|
| クラスターへの外部アクセスを管理するのに ROSA Ingress Operator で必要な IAM ロール。 |
|
| Container Storage Interface (CSI) でバックエンドストレージを管理するのに ROSA で必要な IAM ロール。 |
3.4.2. 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" と入力すると、これらのロールが詳細とともにリストされます。
3.5. OpenShift Cluster Manager を使用するために必要なロール リンクのコピーリンクがクリップボードにコピーされました!
このセクションのロールが必要になるのは、OpenShift Cluster Manager を使用してクラスターを作成および管理する場合のみです。ROSA CLI (rosa
) と OpenShift CLI (oc
) のみを使用してクラスターを作成および管理する場合、これらのロールは必要ありません。
3.5.1. ocm-role IAM ロールの作成 リンクのコピーリンクがクリップボードにコピーされました!
ocm-role
IAM ロールは、コマンドラインインターフェイス (CLI) を使用して作成します。
前提条件
- AWS アカウントがある。
- OpenShift Cluster Manager 組織で Red Hat 組織管理者特権がある。
- AWS アカウント全体のロールをインストールするために必要な権限がある。
-
インストールホストに最新の ROSA CLI
rosa
をインストールして設定した。
手順
基本的な権限を持つ ocm-role IAM ロールを作成するには、次のコマンドを実行します。
rosa create ocm-role
$ rosa create ocm-role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 管理者権限を持つ ocm-role IAM ロールを作成するには、次のコマンドを実行します。
rosa create ocm-role --admin
$ rosa create ocm-role --admin
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドを使用すると、特定の属性を指定してロールを作成できます。次の出力例は、選択された "自動モード" を示しています。これにより、ROSA CLI (
rosa
) で Operator のロールとポリシーを作成できます。詳細は、「アカウント全体のロールの作成方法」を参照してください。
出力例
- 1
- 作成されたすべての AWS リソースの接頭辞値。この例では、
ManagedOpenShift
がすべての AWS リソースを付加します。 - 2
- このロールに追加の管理者権限を付与するかどうかを選択します。注記
--admin
オプションを使用した場合、このプロンプトは表示されません。 - 3
- アクセス許可境界を設定するためのポリシーの Amazon Resource Name (ARN)。
- 4
- ユーザー名の IAM パスを指定します。
- 5
- AWS ロールの作成方法を選択します。
auto
を使用して、ROSA CLI はロールおよびポリシーを生成してリンクします。auto
モードでは、AWS ロールを作成するためのいくつかの異なるプロンプトが表示されます。 - 6
auto
メソッドは、接頭辞を使用して特定のocm-role
を作成するかどうかを尋ねます。- 7
- IAM ロールを OpenShift Cluster Manager に関連付けることを確認します。
- 8
- 作成したロールを AWS 組織にリンクします。
3.5.2. ユーザーロール IAM ロールの作成 リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインインターフェイス (CLI) を使用して、user-role
IAM ロールを作成できます。
前提条件
- AWS アカウントがある。
-
インストールホストに最新の ROSA CLI
rosa
をインストールして設定した。
手順
基本的な権限を持つ
user-role
IAM ロールを作成するには、次のコマンドを実行します。rosa create user-role
$ rosa create user-role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドを使用すると、特定の属性を指定してロールを作成できます。次の出力例は、選択された「自動モード」を示しています。これにより、ROSA CLI (
rosa
) で Operator のロールとポリシーを作成できます。詳細は、「自動および手動のデプロイメントモードについて」を参照してください。
出力例
- 1
- 作成されたすべての AWS リソースの接頭辞値。この例では、
ManagedOpenShift
がすべての AWS リソースを付加します。 - 2
- アクセス許可境界を設定するためのポリシーの Amazon Resource Name (ARN)。
- 3
- ユーザー名の IAM パスを指定します。
- 4
- AWS ロールの作成方法を選択します。
auto
を使用して、ROSA CLI はロールおよびポリシーを生成してリンクします。auto
モードでは、AWS ロールを作成するためのいくつかの異なるプロンプトが表示されます。 - 5
auto
メソッドは、接頭辞を使用して特定のuser-role
を作成するかどうかを尋ねます。- 6
- 作成したロールを AWS 組織にリンクします。
第4章 必要な AWS サービスクォータ リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターの実行に必要な Amazon Web Service (AWS) サービスクォータのリストを確認します。
4.1. 必要な AWS サービスクォータ リンクのコピーリンクがクリップボードにコピーされました!
以下の表は、1 つの Red Hat OpenShift Service on AWS クラスターを作成して実行するために必要な AWS サービスのクォータとレベルを示しています。ほとんどのデフォルト値は大抵のワークロードに適していますが、次の場合には追加クォータのリクエストが必要になることがあります。
-
Red Hat OpenShift Service on AWS クラスターでは、クラスターの作成、可用性、およびアップグレードに対応するために、最低 32 仮想 CPU の AWS EC2 サービスクォータが必要です。Running On-Demand Standard Amazon EC2 インスタンスに割り当てられる仮想 CPU のデフォルトの最大値は
5
です。したがって、以前に同じ AWS アカウントを使用して ROSA クラスターを作成したことがない場合は、Running On-Demand Standard (A, C, D, H, I, M, R, T, Z) instances
を実行するための追加の EC2 クォータをリクエストする必要があります。
-
カスタムセキュリティーグループなど、一部のオプションのクラスター設定機能により、追加クォータのリクエストが必要になることがあります。たとえば、ROSA はデフォルトで 1 つのセキュリティーグループをワーカーマシンプールのネットワークインターフェイスに関連付けますが、
Security groups per network interface
のデフォルトのクォータは5
であるため、5 つのカスタムセキュリティーグループを追加するには、追加のクォータをリクエストする必要があります。セキュリティーグループを追加すると、ワーカーのネットワークインターフェイス上のセキュリティーグループが、合計 6 つになるためです。
AWS SDK を使用すると、ROSA はクォータをチェックできますが、AWS SDK の計算では、既存の使用量が考慮されません。したがって、AWS SDK のクォータチェックに合格しても、使用可能なクォータが不足しているためにクラスターの作成が失敗する可能性があります。この問題を修正するには、クォータを増やします。
特定の AWS クォータを変更または増やす必要がある場合は、クォータ引き上げのリクエスト に関する Amazon のドキュメントを参照してください。クォータリクエストが大きい場合、審査のために Amazon サポートに送信され、承認されるまでに時間がかかる場合があります。クォータリクエストが緊急の場合は、AWS サポートにお問い合わせください。
クォータ名 | サービスコード | クォータコード | AWS のデフォルト | 最小要件 | 説明 |
---|---|---|---|---|---|
Running On-Demand Standard (A, C, D, H, I, M, R, T, Z) instances | ec2 | L-1216C47A | 5 | 32 | オンデマンド標準 (A、C、D、H、I、M、R、T、Z) インスタンスの実行に割り当てられる vCPU の最大数。デフォルト値の 5 vCPU は、ROSA クラスターを作成するには不十分です。 |
Storage for General Purpose SSD (gp3) volume storage in TiB | ebs | L-7A658B76 | 50 | 1[a] | このリージョンの汎用 SSD (gp3) ボリューム全体にプロビジョニングできるストレージの最大集計量 (TiB 単位)。最適なパフォーマンスを得るには、1 TiB のストレージが最低限必要です。 |
[a]
デフォルトのクォータ 50 TiB は、Red Hat OpenShift Service on AWS クラスターに必要な量を超えています。しかし、AWS のコストはクォータではなく使用量に基づいているため、Red Hat ではデフォルトのクォータを使用することを推奨しています。
|
クォータ名 | サービスコード | クォータコード | AWS のデフォルト | 最小要件 | 説明 |
---|---|---|---|---|---|
EC2-VPC Elastic IPs | ec2 | L-0263D0A3 | 5 | 5 | このリージョンで EC2-VPC に割り当てることができる Elastic IP アドレスの最大数。 |
VPCs per Region | vpc | L-F678F1CE | 5 | 5 | リージョンあたりの VPC の最大数。このクォータは、リージョンあたりのインターネットゲートウェイの最大数に直接関係しています。 |
Internet gateways per Region | vpc | L-A4707A72 | 5 | 5 | リージョンあたりのインターネットゲートウェイの最大数。このクォータは、リージョンあたりの VPC の最大数に直接関係しています。このクォータを増やすには、リージョンあたりの VPC の数を増やします。 |
Network interfaces per Region | vpc | L-DF5E4CA3 | 5,000 | 5,000 | リージョンあたりのネットワークインターフェイスの最大数。 |
Security groups per network interface | vpc | L-2AFB9258 | 5 | 5 | ネットワークインターフェイスごとのセキュリティーグループの最大数。セキュリティーグループごとのルール数のクォータとこのクォータを掛けた値が 1000 を超えることはできません。 |
Application Load Balancers per Region | elasticloadbalancing | L-53DA6B97 | 50 | 50 | 各リージョンに存在できる Application Load Balancer の最大数。 |
4.2. 次のステップ リンクのコピーリンクがクリップボードにコピーされました!
第5章 環境の設定 リンクのコピーリンクがクリップボードにコピーされました!
AWS の前提条件を満たしたら、環境をセットアップして Red Hat OpenShift Service on AWS をインストールします。
5.1. 必要な 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 command line interface (
rosa
) を見つけて、Download をクリックします。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
5.2. 次のステップ リンクのコピーリンクがクリップボードにコピーされました!
第6章 クラスター内のリソース使用の計画 リンクのコピーリンクがクリップボードにコピーされました!
6.1. テスト済みのクラスターの最大値に基づく環境計画 リンクのコピーリンクがクリップボードにコピーされました!
このドキュメントでは、テスト済みのクラスターの最大値に基づいて、AWS での Red Hat OpenShift Service 環境をプランニングする方法を説明します。
ノード上で物理リソースを過剰にサブスクライブすると、Kubernetes スケジューラーが Pod の配置時に行うリソースの保証に影響が及びます。メモリースワップを防ぐために実行できる処置を確認してください。
一部のテスト済みの最大値は、単一のディメンションが作成するオブジェクトでのみ変更されます。これらの制限はクラスター上で数多くのオブジェクトが実行されている場合には異なります。
このドキュメントに記載されている数は、Red Hat のテスト方法、セットアップ、設定、およびチューニングに基づいています。これらの数は、独自のセットアップおよび環境に応じて異なります。
環境の計画時に、以下の式を使用して、ノードに配置できる Pod の数を判別します。
required pods per cluster / pods per node = total number of nodes needed
required pods per cluster / pods per node = total number of nodes needed
ノードあたりの現在の Pod の最大数は 250 です。ただし、ノードに適合する Pod 数はアプリケーション自体によって異なります。アプリケーション要件を基にした環境計画 で説明されているように、アプリケーションのメモリー、CPU、およびストレージ要件を検討してください。
シナリオ例
クラスターごとに 2200 の Pod のあるクラスターのスコープを設定する場合、ノードごとに最大 250 の Pod があることを前提として、最低でも 9 つのノードが必要になります。
2200 / 250 = 8.8
2200 / 250 = 8.8
ノード数を 20 に増やす場合は、Pod 配分がノードごとに 110 の Pod に変わります。
2200 / 20 = 110
2200 / 20 = 110
ここでは、以下のようになります。
required pods per cluster / total number of nodes = expected pods per node
required pods per cluster / total number of nodes = expected pods per node
6.2. アプリケーション要件に基づく環境計画 リンクのコピーリンクがクリップボードにコピーされました!
このドキュメントでは、アプリケーション要件に応じて AWS 上の Red Hat OpenShift Service 環境をプランニングする方法を説明します。
アプリケーション環境の例を考えてみましょう。
Pod タイプ | Pod 数 | 最大メモリー | CPU コア数 | 永続ストレージ |
---|---|---|---|---|
apache | 100 | 500 MB | 0.5 | 1 GB |
node.js | 200 | 1 GB | 1 | 1 GB |
postgresql | 100 | 1 GB | 2 | 10 GB |
JBoss EAP | 100 | 1 GB | 1 | 1 GB |
推定要件: CPU コア 550 個、メモリー 450 GB、および 1.4 TB ストレージ
ノードのインスタンスサイズは、希望に応じて増減を調整できます。ノードのリソースはオーバーコミットされることが多く、デプロイメントシナリオでは、小さいノードで数を増やしたり、大きいノードで数を減らしたりして、同じリソース量を提供することもできます。このデプロイメントシナリオでは、小さいノードで数を増やしたり、大きいノードで数を減らしたりして、同じリソース量を提供することもできます。運用上の敏捷性やインスタンスあたりのコストなどの要因を考慮する必要があります。
ノードのタイプ | 数量 | CPU | RAM (GB) |
---|---|---|---|
ノード (オプション 1) | 100 | 4 | 16 |
ノード (オプション 2) | 50 | 8 | 32 |
ノード (オプション 3) | 25 | 16 | 64 |
アプリケーションによってはオーバーコミットの環境に適しているものもあれば、そうでないものもあります。たとえば、Java アプリケーションや Huge Page を使用するアプリケーションの多くは、オーバーコミットに対応できません。対象のメモリーは、他のアプリケーションに使用できません。上記の例では、環境は一般的な比率として約 30 % オーバーコミットされています。
アプリケーション Pod は環境変数または DNS のいずれかを使用してサービスにアクセスできます。環境変数を使用する場合、それぞれのアクティブなサービスについて、変数が Pod がノードで実行される際に kubelet によって挿入されます。クラスター対応の DNS サーバーは、Kubernetes API で新規サービスの有無を監視し、それぞれに DNS レコードのセットを作成します。DNS がクラスター全体で有効にされている場合、すべての Pod は DNS 名でサービスを自動的に解決できるはずです。DNS を使用したサービス検出は、5000 サービスを超える使用できる場合があります。サービス検出に環境変数を使用し、namespace で 5000 サービスを超える場合に引数のリストが許可される長さを超えると、Pod およびデプロイメントが失敗し始めます。
デプロイメントのサービス仕様ファイルのサービスリンクを無効にして、以下を解消します。
例
namespace で実行できるアプリケーション Pod の数は、環境変数がサービス検出に使用される場合にサービスの数およびサービス名の長さによって異なります。システムの ARG_MAX
は、新規プロセスの引数の最大の長さを定義し、デフォルトで 2097152 バイト (2 MiB) に設定されます。kubelet は、以下を含む namespace で実行するようにスケジュールされる各 Pod に環境変数を挿入します。
-
<SERVICE_NAME>_SERVICE_HOST=<IP>
-
<SERVICE_NAME>_SERVICE_PORT=<PORT>
-
<SERVICE_NAME>_PORT=tcp://<IP>:<PORT>
-
<SERVICE_NAME>_PORT_<PORT>_TCP=tcp://<IP>:<PORT>
-
<SERVICE_NAME>_PORT_<PORT>_TCP_PROTO=tcp
-
<SERVICE_NAME>_PORT_<PORT>_TCP_PORT=<PORT>
-
<SERVICE_NAME>_PORT_<PORT>_TCP_ADDR=<ADDR>
引数の長さが許可される値を超え、サービス名の文字数がこれに影響を及ぼす場合は、namespace の Pod が起動に失敗し始めます。
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.