本頁面說明如何使用自動加入網域功能,將 Google Kubernetes Engine (GKE) 叢集中的 Windows Server 節點加入受管理的 Microsoft AD 網域。
自動將 Windows Server 節點加入網域的 Managed Microsoft AD 運作方式
在 GKE 叢集中建立節點集區時,您可以使用 Managed Microsoft AD 提供的現成指令碼,自動加入 Managed Microsoft AD 網域。GKE 建立節點集區後,Managed Microsoft AD 會啟動網域加入要求,並嘗試將節點與您的網域建立連線。如果網域加入要求成功,Managed Microsoft AD 就會將節點加入您的網域。如果網域加入要求失敗,則已建立的節點會繼續執行。您必須檢查記錄檔,找出並修正問題,才能再次建立節點集區。詳情請參閱「查看偵錯記錄」。
在某些特定情況下,您必須手動清理受管理 Microsoft AD 中未加入節點的資訊。詳情請參閱「清理未加入的 VM」。
您無法使用網域加入指令碼更新現有節點集區,以便自動將現有節點加入網域。
自動加入網域功能不會設定 GKE 節點,以便透過 gMSA 進行驗證。不過,您可以手動在受管理的 Microsoft AD 中建立 gMSA,並設定 GKE 節點以使用 gMSA。如要瞭解如何為 GKE 節點設定 gMSA,請參閱「為 Windows Pods 和容器設定 gMSA」。
事前準備
請確認 Windows Server 節點執行的是 受 Managed Microsoft AD 支援的 Windows 版本。
在 Managed Microsoft AD 網域和節點網路之間設定網域對等連線,或是讓 Managed Microsoft AD 網域和節點位於同一個網路中。
在具有 Managed Microsoft AD 網域的專案中,建立具有 Google Cloud Managed Identities Domain Join (
roles/managedidentities.domainJoin
) IAM 角色的服務帳戶。詳情請參閱「Cloud 管理式身分識別資訊角色」。如要進一步瞭解如何授予角色,請參閱「授予單一角色」。
如要瞭解如何建立服務帳戶,請參閱「使用服務帳戶驗證工作負載」。
在 Windows Server 節點上設定完整的
cloud-platform
存取範圍。詳情請參閱「授權」。
中繼資料
您需要下列中繼資料鍵,才能將 Windows Server 節點加入網域。
windows-startup-script-url
managed-ad-domain
- 選用:
enable-guest-attributes
- 選用:
managed-ad-ou-name
- 選用:
managed-ad-force
如要進一步瞭解這些中繼資料鍵,請參閱「中繼資料」。
如果受管理的 Microsoft AD 中已存在 Windows Server 節點的電腦帳戶,網域加入要求就會失敗。如要讓受管理的 Microsoft AD 在網域加入程序中重複使用現有的電腦帳戶,您可以在建立節點叢集時使用 managed-ad-force
中繼資料鍵。
加入 Windows Server 節點
您可以在將 Windows Server 節點集區新增至 GKE 叢集時,設定這些中繼資料鍵。本節說明如何在建立節點集區時,在 gcloud CLI 指令中使用這些中繼資料鍵。
不過,您也可以在使用其他可用選項建立節點集區時使用這些中繼資料鍵。詳情請參閱「新增及管理節點集區」。
如要建立節點集區並加入 Windows Server 節點,請執行下列 gcloud CLI 指令:
gcloud container node-pools create NODE_POOL_NAME \ --cluster=CLUSTER_NAME \ "--metadata=windows-startup-script-url=URL,managed-ad-domain=DOMAIN_RESOURCE_PATH,managed-ad-force=TRUE" \ --service-account=SERVICE_ACCOUNT \ --image-type=WINDOWS_IMAGE_NAME \ --scopes=https://www.googleapis.com/auth/cloud-platform \ --location=ZONE_OR_REGION \ --no-enable-autoupgrade
您可以將 --metadata
標記中的預留位置替換為相關值,如結構描述一節所述。
如要進一步瞭解這個 gcloud CLI 指令,請參閱 gcloud container node-pools create。