12.10. GCP でのロードバランサーの作成
OpenShift Container Platform クラスターで使用するロードバランシングを Google Cloud Platform (GCP) で設定する必要があります。これらのコンポーネントを作成する方法として、提供される Deployment Manager テンプレートを変更することができます。
提供される Deployment Manager テンプレートを使用して GCP インフラストラクチャーを使用しない場合、提供される情報を確認し、インフラストラクチャーを手動で作成する必要があります。クラスターが適切に初期化されない場合、インストールログを用意して Red Hat サポートに問い合わせする必要がある可能性があります。
前提条件
- GCP アカウントを設定します。
- クラスターの Ignition 設定ファイルを生成します。
- GCP で VPC および関連するサブネットを作成し、設定します。
手順
-
このトピックの 内部ロードバランサーの Deployment Manager テンプレート セクションからテンプレートをコピーし、これを
02_lb_int.pyとしてコンピューターに保存します。このテンプレートは、クラスターに必要な内部負荷分散オブジェクトを記述しています。 -
また、外部クラスターには、このトピックの 外部ロードバランサーの Deployment Manager テンプレート セクションからテンプレートをコピーし、これを
02_lb_ext.pyとしてコンピューターに保存します。このテンプレートは、クラスターに必要な外部負荷分散オブジェクトを記述しています。 デプロイメントテンプレートが使用する変数をエクスポートします。
クラスターネットワークの場所をエクスポートします。
export CLUSTER_NETWORK=(`gcloud compute networks describe ${HOST_PROJECT_NETWORK} --project ${HOST_PROJECT} --account ${HOST_PROJECT_ACCOUNT} --format json | jq -r .selfLink`)$ export CLUSTER_NETWORK=(`gcloud compute networks describe ${HOST_PROJECT_NETWORK} --project ${HOST_PROJECT} --account ${HOST_PROJECT_ACCOUNT} --format json | jq -r .selfLink`)Copy to Clipboard Copied! Toggle word wrap Toggle overflow コントロールプレーンのサブネットの場所をエクスポートします。
export CONTROL_SUBNET=(`gcloud compute networks subnets describe ${HOST_PROJECT_CONTROL_SUBNET} --region=${REGION} --project ${HOST_PROJECT} --account ${HOST_PROJECT_ACCOUNT} --format json | jq -r .selfLink`)$ export CONTROL_SUBNET=(`gcloud compute networks subnets describe ${HOST_PROJECT_CONTROL_SUBNET} --region=${REGION} --project ${HOST_PROJECT} --account ${HOST_PROJECT_ACCOUNT} --format json | jq -r .selfLink`)Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターが使用する 3 つのゾーンをエクスポートします。
export ZONE_0=(`gcloud compute regions describe ${REGION} --format=json | jq -r .zones[0] | cut -d "/" -f9`)$ export ZONE_0=(`gcloud compute regions describe ${REGION} --format=json | jq -r .zones[0] | cut -d "/" -f9`)Copy to Clipboard Copied! Toggle word wrap Toggle overflow export ZONE_1=(`gcloud compute regions describe ${REGION} --format=json | jq -r .zones[1] | cut -d "/" -f9`)$ export ZONE_1=(`gcloud compute regions describe ${REGION} --format=json | jq -r .zones[1] | cut -d "/" -f9`)Copy to Clipboard Copied! Toggle word wrap Toggle overflow export ZONE_2=(`gcloud compute regions describe ${REGION} --format=json | jq -r .zones[2] | cut -d "/" -f9`)$ export ZONE_2=(`gcloud compute regions describe ${REGION} --format=json | jq -r .zones[2] | cut -d "/" -f9`)Copy to Clipboard Copied! Toggle word wrap Toggle overflow
02_infra.yamlリソース定義ファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow gcloudCLI を使用してデプロイメントを作成します。gcloud deployment-manager deployments create ${INFRA_ID}-infra --config 02_infra.yaml$ gcloud deployment-manager deployments create ${INFRA_ID}-infra --config 02_infra.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow クラスター IP アドレスをエクスポートします。
export CLUSTER_IP=(`gcloud compute addresses describe ${INFRA_ID}-cluster-ip --region=${REGION} --format json | jq -r .address`)$ export CLUSTER_IP=(`gcloud compute addresses describe ${INFRA_ID}-cluster-ip --region=${REGION} --format json | jq -r .address`)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 外部クラスターの場合、クラスターのパブリック IP アドレスもエクスポートします。
export CLUSTER_PUBLIC_IP=(`gcloud compute addresses describe ${INFRA_ID}-cluster-public-ip --region=${REGION} --format json | jq -r .address`)$ export CLUSTER_PUBLIC_IP=(`gcloud compute addresses describe ${INFRA_ID}-cluster-public-ip --region=${REGION} --format json | jq -r .address`)Copy to Clipboard Copied! Toggle word wrap Toggle overflow
12.10.1. 外部ロードバランサーの Deployment Manager テンプレート リンクのコピーリンクがクリップボードにコピーされました!
以下の Deployment Manager テンプレートを使用して、OpenShift Container Platform クラスターに必要な外部ロードバランサーをデプロイすることができます。
例12.3 02_lb_ext.py Deployment Manager テンプレート
12.10.2. 内部ロードバランサーの Deployment Manager テンプレート リンクのコピーリンクがクリップボードにコピーされました!
以下の Deployment Manager テンプレートを使用して、OpenShift Container Platform クラスターに必要な内部ロードバランサーをデプロイすることができます。
例12.4 02_lb_int.py Deployment Manager テンプレート
外部クラスターの作成時に、02_lb_ext.py テンプレートに加えてこのテンプレートが必要になります。