创建客户端证书

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. 证书上传完毕并创建集群之前,请等待至少一分钟时间,以便证书可供使用。如果命令失败,您可以重试。

后续步骤