クライアント証明書を作成する
GKE on Azure は、AzureClient リソースを使用して Azure に対して認証を行います。クライアントを作成すると、Google が鍵ペアを生成します。この公開鍵を Azure Active Directory(Azure AD)にアップロードします。GKE Multi-Cloud API では、AzureClient を使用してアプリケーションのサービス プリンシパルとして認証されます。
同じ AzureClient を使用して、同じ Google Cloud プロジェクトに複数のクラスタを作成できます。AzureClient がすでにある場合は、この手順をスキップして SSH 認証鍵ペアを作成するに進みます。
AzureClient を作成するには、次のコマンドを実行します。
Azure テナントとアプリケーション ID で環境変数を設定します。
export SUBSCRIPTION_ID=$(az account show --query "id" --output tsv) export TENANT_ID=$(az account list \ --query "[?id=='${SUBSCRIPTION_ID}'].{tenantId:tenantId}" --output tsv) export APPLICATION_ID=$(az ad app list --all \ --query "[?displayName=='APPLICATION_NAME'].appId" --output tsv)
APPLICATION_NAME
は、前提条件の完了時に使用した Azure AD アプリケーション名に置き換えます。クライアントを作成します。
gcloud container azure clients create CLIENT_NAME \ --location=GOOGLE_CLOUD_LOCATION \ --tenant-id="${TENANT_ID}" \ --application-id="${APPLICATION_ID}"
次のように置き換えます。
CLIENT_NAME
: AzureClient の名前GOOGLE_CLOUD_LOCATION
: クラスタを管理するサポート対象の Google Cloud リージョン(例:us-west1
)
AzureClient から証明書を取得し、環境変数に保存します。
CERT=$(gcloud container azure clients get-public-cert --location=GOOGLE_CLOUD_LOCATION \ CLIENT_NAME)
次のように置き換えます。
GOOGLE_CLOUD_LOCATION
CLIENT_NAME
Azure AD 上のアプリケーションに証明書をアップロードします。
az ad app credential reset --id "${APPLICATION_ID}" --cert "${CERT}" --append
証明書がアップロードされた後、クラスタを作成する前に、証明書が使用可能になるまで少なくとも 1 分待ちます。コマンドが失敗した場合は、もう一度お試しください。