クライアント証明書を作成する

GKE on Azure は、AzureClient リソースを使用して Azure に対して認証を行います。クライアントを作成すると、Google が鍵ペアを生成します。この公開鍵を Azure Active Directory(Azure AD)にアップロードします。GKE Multi-Cloud API では、AzureClient を使用してアプリケーションのサービス プリンシパルとして認証されます。

同じ AzureClient を使用して、同じ Google Cloud プロジェクトに複数のクラスタを作成できます。AzureClient がすでにある場合は、この手順をスキップして SSH 認証鍵ペアを作成するに進みます。

AzureClient を作成するには、次のコマンドを実行します。

  1. 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 アプリケーション名に置き換えます。

  2. クライアントを作成します。

    gcloud container azure clients create CLIENT_NAME \
      --location=GOOGLE_CLOUD_LOCATION \
      --tenant-id="${TENANT_ID}" \
      --application-id="${APPLICATION_ID}"
    

    次のように置き換えます。

  3. AzureClient から証明書を取得し、環境変数に保存します。

     CERT=$(gcloud container azure clients get-public-cert --location=GOOGLE_CLOUD_LOCATION \
          CLIENT_NAME)
    

    次のように置き換えます。

    • GOOGLE_CLOUD_LOCATION
    • CLIENT_NAME
  4. Azure AD 上のアプリケーションに証明書をアップロードします。

     az ad app credential reset --id "${APPLICATION_ID}" --cert "${CERT}" --append
    
  5. 証明書がアップロードされた後、クラスタを作成する前に、証明書が使用可能になるまで少なくとも 1 分待ちます。コマンドが失敗した場合は、もう一度お試しください。

次のステップ