このページでは、Anthos Service Mesh で必要なオプションによって既存の GKE クラスタを設定する方法について説明します。別の Google Cloud プロジェクトのクラスタを Anthos Service Mesh に追加するには、そのクラスタが共有 Virtual Private Cloud(VPC)内に存在している必要があります。詳細については、共有 VPC を使用したクラスタの設定をご覧ください。
始める前に
クラスタの設定を開始する前に、次のことが完了していることを確認してください。
既存のクラスタの設定
次の環境変数を作成します。
クラスタ名を設定します。
export CLUSTER_NAME=YOUR_CLUSTER_NAME
CLUSTER_LOCATION
をクラスタのゾーンまたはリージョンに設定します。export CLUSTER_LOCATION=YOUR_ZONE_OR_REGION
ワークロード プールを設定します。
export WORKLOAD_POOL=${PROJECT_ID}.svc.id.goog
メッシュ ID を設定します。
export MESH_ID="proj-${FLEET_PROJECT_NUMBER}"
Google Cloud CLI のデフォルトのゾーンまたはリージョンを設定します。ここでデフォルトを設定しない場合、このページの
gcloud container clusters
コマンドに--zone
オプションまたは--region
オプションを指定してください。シングルゾーン クラスタがある場合は、デフォルト ゾーンを設定します。
gcloud config set compute/zone ${CLUSTER_LOCATION}
リージョン クラスタがある場合は、デフォルト リージョンを設定します。
gcloud config set compute/region ${CLUSTER_LOCATION}
ヒント: 今後のシェル環境の設定を容易にするために、各環境変数の
export
ステートメントをコピーして、新しいシェルの起動時にsource
するシンプルなシェル スクリプトに貼り付けることができます。スクリプトにデフォルト値を設定するgcloud
コマンドを追加することもできます。または、gcloud init
を使用して、名前付きのgcloud
構成を作成して有効にすることもできます。クラスタに
mesh_id
ラベルを設定します。クラスタの既存のラベルを残す場合は、mesh_id
ラベルの追加時にそれらのラベルを含める必要があります。クラスタに既存のラベルがあるかどうかを確認するには:
gcloud container clusters describe ${CLUSTER_NAME} \ --project ${PROJECT_ID}
出力で
resourceLabels
フィールドを探します。ラベルは、resourceLabels
フィールドごとに別々の行に格納されます。次に例を示します。resourceLabels: csm: '' env: dev release: stable
出力に
csm
ラベルがある場合、保持する必要はありません。mesh_id
ラベルはcsm
ラベルに代わります。利便性を考えて、環境変数にラベルを追加することもできます。以下の例の
YOUR_EXISTING_LABELS
は、クラスタに存在するラベルのカンマ区切りのリスト(KEY=VALUE
形式、たとえばenv=dev,release=stable
)で置き換えます。export EXISTING_LABELS="YOUR_EXISTING_LABELS"
mesh_id
ラベルを設定します。クラスタの既存のラベルを残す場合は、
mesh_id
と既存のラベルでクラスタを更新します。gcloud container clusters update ${CLUSTER_NAME} \ --project ${PROJECT_ID} \ --update-labels=mesh_id=${MESH_ID},${EXISTING_LABELS}
クラスタに既存のラベルがない場合は、
mesh_id
ラベルだけでクラスタを更新します。gcloud container clusters update ${CLUSTER_NAME} \ --project=${PROJECT_ID} \ --update-labels=mesh_id=${MESH_ID}
Workload Identity を有効にします。
gcloud container clusters update ${CLUSTER_NAME} \ --project=${PROJECT_ID} \ --workload-pool=${WORKLOAD_POOL}
Workload Identity の有効化には、最長で 10~15 分ほどかかることがあります。
GKE で Cloud Monitoring と Cloud Logging を有効にします。
gcloud container clusters update ${CLUSTER_NAME} \ --project=${PROJECT_ID} \ --enable-stackdriver-kubernetes