클라이언트 인증서 만들기
Azure용 GKE는 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분 이상 기다립니다. 명령어가 실패하면 다시 시도할 수 있습니다.