12.17. AWS でのワーカーノードの作成
クラスターで使用するワーカーノードを Amazon Web Services (AWS) で作成できます。
3 ノードクラスターをインストールする場合は、この手順をスキップしてください。3 ノードクラスターは、コンピュートマシンとしても機能する 3 つのコントロールプレーンマシンで構成されます。
提供される CloudFormation テンプレートおよびカスタムパラメーターファイルを使用して、ワーカーノードを表す AWS リソースのスタックを作成できます。
CloudFormation テンプレートは、1 つのワーカーノードを表すスタックを作成します。それぞれのワーカーノードにスタックを作成する必要があります。
提供される CloudFormation テンプレートを使用してワーカーノードを作成しない場合、提供される情報を確認し、インフラストラクチャーを手動で作成する必要があります。クラスターが適切に初期化されない場合、インストールログを用意して Red Hat サポートに問い合わせする必要がある可能性があります。
前提条件
- AWS アカウントを設定している。
-
aws configure
を実行して、AWS キーおよびリージョンをローカルの AWS プロファイルに追加している。 - クラスターの Ignition 設定ファイルを生成している。
- AWS で VPC および関連するサブネットを作成し、設定している。
- AWS で DNS、ロードバランサー、およびリスナーを作成し、設定している。
- AWS でクラスターに必要なセキュリティーグループおよびロールを作成している。
- ブートストラップマシンを作成している。
- コントロールプレーンマシンを作成している。
手順
CloudFormation テンプレートが必要とするパラメーター値が含まれる JSON ファイルを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- クラスターの Ignition 設定ファイルでエンコードされるクラスターインフラストラクチャーの名前。
- 2
- 形式が
<cluster-name>-<random-string>
の Ignition 設定ファイルから抽出したインフラストラクチャー名を指定します。 - 3
- 選択したアーキテクチャーに基づいてワーカーノードに使用する現在の Red Hat Enterprise Linux CoreOS (RHCOS) AMI。
- 4
AWS::EC2::Image::Id
値を指定します。- 5
- ワーカーノードを起動するためのサブネット (プライベートであることが望ましい)。
- 6
- DNS および負荷分散の CloudFormation テンプレートの出力から
PrivateSubnets
値のサブネットを指定します。 - 7
- ワーカーノードに関連付けるワーカーセキュリティーグループ ID。
- 8
- セキュリティーグループおよびロールの CloudFormation テンプレートの出力から
WorkerSecurityGroupId
値を指定します。 - 9
- ブートストラップ Ignition 設定ファイルを取得する場所。
- 10
- 生成される Ignition 設定の場所を指定します。
https://api-int.<cluster_name>.<domain_name>:22623/config/worker
- 11
- 使用する base64 でエンコードされた認証局の文字列。
- 12
- インストールディレクトリーにある
worker.ign
ファイルから値を指定します。この値は、data:text/plain;charset=utf-8;base64,ABC…xYz==
形式の長い文字列です。 - 13
- ワーカーロールに関連付ける IAM プロファイル。
- 14
- セキュリティーグループおよびロールの CloudFormation テンプレートの出力から
WorkerInstanceProfile
パラメーターの値を指定します。 - 15
- 選択したアーキテクチャーに基づいてコンピュートマシンに使用する AWS インスタンスのタイプ。
- 16
- インスタンスタイプの値は、コンピュートマシンの最小リソース要件に対応します。たとえば、
m6i.large
は AMD64 のタイプであり、m6g.large
は ARM64 のタイプです。
- このトピックの ワーカーマシンの CloudFormation テンプレート セクションからテンプレートをコピーし、これをコンピューター上に YAML ファイルとして保存します。このテンプレートは、クラスターに必要なネットワークオブジェクトおよびロードバランサーを記述しています。
-
オプション:
m5
インスタンスタイプをWorkerInstanceType
の値として指定した場合は、そのインスタンスタイプを CloudFormation テンプレートのWorkerInstanceType.AllowedValues
パラメーターに追加します。 -
オプション: AWS Marketplace イメージを使用してデプロイする場合は、サブスクリプションから取得した AMI ID で
Worker0.type.properties.ImageID
パラメーターを更新します。 CloudFormation テンプレートを使用して、ワーカーノードを表す AWS リソースのスタックを作成します。
重要単一行にコマンドを入力してください。
aws cloudformation create-stack --stack-name <name>
$ aws cloudformation create-stack --stack-name <name>
1 --template-body file://<template>.yaml \
2 --parameters file://<parameters>.json
3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
arn:aws:cloudformation:us-east-1:269333783861:stack/cluster-worker-1/729ee301-1c2a-11eb-348f-sd9888c65b59
arn:aws:cloudformation:us-east-1:269333783861:stack/cluster-worker-1/729ee301-1c2a-11eb-348f-sd9888c65b59
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記CloudFormation テンプレートは、1 つのワーカーノードを表すスタックを作成します。
テンプレートのコンポーネントが存在することを確認します。
aws cloudformation describe-stacks --stack-name <name>
$ aws cloudformation describe-stacks --stack-name <name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターに作成するワーカーマシンが十分な数に達するまでワーカースタックの作成を継続します。同じテンプレートおよびパラメーターファイルを参照し、異なるスタック名を指定してワーカースタックをさらに作成することができます。
重要2 つ以上のワーカーマシンを作成する必要があるため、この CloudFormation テンプレートを使用する 2 つ以上のスタックを作成する必要があります。
12.17.1. ワーカーマシンの CloudFormation テンプレート リンクのコピーリンクがクリップボードにコピーされました!
以下の CloudFormation テンプレートを使用し、OpenShift Container Platform クラスターに必要なワーカーマシンをデプロイすることができます。
例12.22 ワーカーマシンの CloudFormation テンプレート