11.16. GCP でのコントロールプレーンマシンの作成
クラスターで使用するコントロールプレーンマシンを Google Cloud Platform (GCP) で作成する必要があります。これらのマシンを作成する方法として、提供される Deployment Manager テンプレートを変更することができます。
提供される Deployment Manager テンプレートを使用してコントロールプレーンマシンを使用しない場合、指定される情報を確認し、インフラストラクチャーを手動で作成する必要があります。クラスターが適切に初期化されない場合、インストールログを用意して Red Hat サポートに問い合わせする必要がある可能性があります。
前提条件
- 共通変数のエクスポート、GCP でのロードバランサーの作成、GCP での IAM ロールの作成、および GCP でのブートストラップマシンの作成 のセクションで変数が定義されている。
- ブートストラップマシンが作成されている。
手順
-
このトピックの コントロールプレーンマシンの Deployment Manager テンプレート セクションからテンプレートをコピーし、これを
05_control_plane.py
としてコンピューターに保存します。このテンプレートは、クラスターに必要なコントロールプレーンのマシンを記述しています。 リソース定義で必要な以下の変数をエクスポートします。
export MASTER_IGNITION=`cat <installation_directory>/master.ign`
$ export MASTER_IGNITION=`cat <installation_directory>/master.ign`
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 05_control_plane.yaml
リソース定義ファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
infra_id
は抽出手順で得られるINFRA_ID
インフラストラクチャー名です。- 2
zones
は、コントロールプレーンインスタンスをデプロイするゾーンです (例:us-central1-a
、us-central1-b
、およびus-central1-c
)。- 3
control_subnet
は、コントロールサブセットのselfLink
URL です。- 4
image
は RHCOS イメージのselfLink
URL です。- 5
machine_type
はインスタンスのマシンタイプです (例:n1-standard-4
)。- 6
service_account_email
は作成したマスターサービスアカウントのメールアドレスです。- 7
ignition
はmaster.ign
ファイルの内容です。
gcloud
CLI を使用してデプロイメントを作成します。gcloud deployment-manager deployments create ${INFRA_ID}-control-plane --config 05_control_plane.yaml
$ gcloud deployment-manager deployments create ${INFRA_ID}-control-plane --config 05_control_plane.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Deployment Manager の制限により、テンプレートではロードバランサーのメンバーシップを管理しないため、コントロールプレーンマシンを手動で追加する必要があります。
以下のコマンドを実行してコントロールプレーンマシンを適切なインスタンスグループに追加します。
gcloud compute instance-groups unmanaged add-instances ${INFRA_ID}-master-${ZONE_0}-ig --zone=${ZONE_0} --instances=${INFRA_ID}-master-0
$ gcloud compute instance-groups unmanaged add-instances ${INFRA_ID}-master-${ZONE_0}-ig --zone=${ZONE_0} --instances=${INFRA_ID}-master-0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow gcloud compute instance-groups unmanaged add-instances ${INFRA_ID}-master-${ZONE_1}-ig --zone=${ZONE_1} --instances=${INFRA_ID}-master-1
$ gcloud compute instance-groups unmanaged add-instances ${INFRA_ID}-master-${ZONE_1}-ig --zone=${ZONE_1} --instances=${INFRA_ID}-master-1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow gcloud compute instance-groups unmanaged add-instances ${INFRA_ID}-master-${ZONE_2}-ig --zone=${ZONE_2} --instances=${INFRA_ID}-master-2
$ gcloud compute instance-groups unmanaged add-instances ${INFRA_ID}-master-${ZONE_2}-ig --zone=${ZONE_2} --instances=${INFRA_ID}-master-2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 外部クラスターの場合、以下のコマンドを実行してコントロールプレーンマシンをターゲットプールに追加する必要もあります。
gcloud compute target-pools add-instances ${INFRA_ID}-api-target-pool --instances-zone="${ZONE_0}" --instances=${INFRA_ID}-master-0
$ gcloud compute target-pools add-instances ${INFRA_ID}-api-target-pool --instances-zone="${ZONE_0}" --instances=${INFRA_ID}-master-0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow gcloud compute target-pools add-instances ${INFRA_ID}-api-target-pool --instances-zone="${ZONE_1}" --instances=${INFRA_ID}-master-1
$ gcloud compute target-pools add-instances ${INFRA_ID}-api-target-pool --instances-zone="${ZONE_1}" --instances=${INFRA_ID}-master-1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow gcloud compute target-pools add-instances ${INFRA_ID}-api-target-pool --instances-zone="${ZONE_2}" --instances=${INFRA_ID}-master-2
$ gcloud compute target-pools add-instances ${INFRA_ID}-api-target-pool --instances-zone="${ZONE_2}" --instances=${INFRA_ID}-master-2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.16.1. コントロールプレーンマシンの Deployment Manager テンプレート リンクのコピーリンクがクリップボードにコピーされました!
以下の Deployment Manager テンプレートを使用して、OpenShift Container Platform クラスターに必要なコントロールプレーンマシンをデプロイすることができます。
例11.9 05_control_plane.py
Deployment Manager テンプレート