12.18. GCP での追加のワーカーマシンの作成
Google Cloud Platform (GCP) でクラスターが使用するワーカーマシンを作成するには、それぞれのインスタンスを個別に起動するか、自動スケーリンググループなどのクラスター外にある自動プロセスを実行します。OpenShift Container Platform の組み込まれたクラスタースケーリングメカニズムやマシン API を利用できます。
この例では、Deployment Manager テンプレートを使用して 1 つのインスタンスを手動で起動します。追加のインスタンスは、ファイル内に 06_worker.py
というタイプのリソースを追加して起動することができます。
ワーカーマシンを使用するために提供される Deployment Manager テンプレートを使用しない場合は、提供される情報を確認し、インフラストラクチャーを手動で作成する必要があります。クラスターが適切に初期化されない場合、インストールログを用意して Red Hat サポートに問い合わせする必要がある可能性があります。
前提条件
- 共通変数のエクスポート、GCP でのロードバランサーの作成、および GCP でのブートストラップマシンの作成 セクションで変数が定義されている。
- ブートストラップマシンが作成されている。
- コントロールプレーンマシンが作成されている。
手順
-
このトピックの ワーカーマシンの Deployment Manager テンプレート からテンプレートをコピーし、これを
06_worker.py
としてコンピューターに保存します。このテンプレートは、クラスターに必要なワーカーマシンを記述しています。 リソース定義が使用する変数をエクスポートします。
コンピュートマシンをホストするサブネットをエクスポートします。
export COMPUTE_SUBNET=(`gcloud compute networks subnets describe ${INFRA_ID}-worker-subnet --region=${REGION} --format json | jq -r .selfLink`)
$ export COMPUTE_SUBNET=(`gcloud compute networks subnets describe ${INFRA_ID}-worker-subnet --region=${REGION} --format json | jq -r .selfLink`)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow サービスアカウントのメールアドレスをエクスポートします。
export WORKER_SERVICE_ACCOUNT=(`gcloud iam service-accounts list --filter "email~^${INFRA_ID}-w@${PROJECT_NAME}." --format json | jq -r '.[0].email'`)
$ export WORKER_SERVICE_ACCOUNT=(`gcloud iam service-accounts list --filter "email~^${INFRA_ID}-w@${PROJECT_NAME}." --format json | jq -r '.[0].email'`)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コンピュートマシンの Ignition 設定ファイルの場所をエクスポートします。
export WORKER_IGNITION=`cat <installation_directory>/worker.ign`
$ export WORKER_IGNITION=`cat <installation_directory>/worker.ign`
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
06_worker.yaml
リソース定義ファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
name
はワーカーマシンの名前です (例:worker-0
)。- 2 9
infra_id
は抽出手順で得られるINFRA_ID
インフラストラクチャー名です。- 3 10
zone
はワーカーマシンをデプロイするゾーンです (例:us-central1-a
)。- 4 11
compute_subnet
はコンピュートサブネットのselfLink
URL です。- 5 12
image
は RHCOS イメージのselfLink
URL です。1- 6 13
machine_type
はインスタンスのマシンタイプです (例:n1-standard-4
)。- 7 14
service_account_email
は作成したワーカーサービスアカウントのメールアドレスです。- 8 15
Ignition
はworker.ign
ファイルの内容です。
-
オプション: 追加のインスタンスを起動する必要がある場合には、
06_worker.py
タイプの追加のリソースを06_worker.yaml
リソース定義ファイルに組み込みます。 gcloud
CLI を使用してデプロイメントを作成します。gcloud deployment-manager deployments create ${INFRA_ID}-worker --config 06_worker.yaml
$ gcloud deployment-manager deployments create ${INFRA_ID}-worker --config 06_worker.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
GCP Marketplace イメージを使用するには、使用するオファーを指定します。
-
OpenShift Container Platform:
https://www.googleapis.com/compute/v1/projects/redhat-marketplace-public/global/images/redhat-coreos-ocp-413-x86-64-202305021736
-
OpenShift Platform Plus:
https://www.googleapis.com/compute/v1/projects/redhat-marketplace-public/global/images/redhat-coreos-opp-413-x86-64-202305021736
-
OpenShift Kubernetes Engine:
https://www.googleapis.com/compute/v1/projects/redhat-marketplace-public/global/images/redhat-coreos-oke-413-x86-64-202305021736
-
OpenShift Container Platform:
12.18.1. ワーカーマシンの Deployment Manager テンプレート リンクのコピーリンクがクリップボードにコピーされました!
以下の Deployment Manager テンプレートを使用し、OpenShift Container Platform クラスターに必要なワーカーマシンをデプロイすることができます。
例12.33 06_worker.py
Deployment Manager テンプレート