Configure Windows Server nodes to automatically join an Active Directory domain


This page provides instructions to configure your Windows Server nodes in your Google Kubernetes Engine (GKE) cluster to automatically join an Active Directory (AD) domain.

If you want to join your Windows Server nodes to a Managed Microsoft AD domain and don't require a security group that contains the computer objects of your cluster, you can use the automated domain join feature. For more information, see Join GKE Windows Server nodes automatically to a Managed Microsoft AD domain .

Before you begin

Before you start, make sure you have performed the following tasks:

  • Enable the Google Kubernetes Engine API.
  • Enable Google Kubernetes Engine API
  • If you want to use the Google Cloud CLI for this task, install and then initialize the gcloud CLI. If you previously installed the gcloud CLI, get the latest version by running gcloud components update .

Configure auto join for Windows Server node pools

  1. Configure AD and your Google Cloud project for automatic joining by completing the instructions in the Configuring Active Directory for VMs to automatically join a domain tutorial.

  2. Create a GKE cluster:

     gcloud  
    container  
    clusters  
    create  
     CLUSTER_NAME 
      
     \ 
      
    --enable-ip-alias  
     \ 
      
    --num-nodes = 
     NUMBER_OF_NODES 
      
     \ 
      
    --no-enable-shielded-nodes  
     \ 
      
    --cluster-version = 
     VERSION 
     
    

    Replace the following:

    • CLUSTER_NAME : the name of your new cluster.
    • NUMBER_OF_NODES : the number of Linux nodes to create. You should provide sufficient compute resources to run cluster add-ons. This is an optional field and, if omitted, uses the default value of 3.
    • VERSION : the GKE cluster version, which must be 1.17.14-gke.1200 or later or 1.18.9-gke.100 or later. You can also use the --release-channel flag to enroll the cluster in a release channel.
    • --enable-ip-alias turns on alias IP . Alias IP is required for Windows Server nodes.
    • --no-enable-shielded-nodes disables Shielded GKE Nodes.
  3. Set the following variables:

     export DOMAIN_PROJECT_ID= PROJECT_ID 
    export SERVERLESS_REGION= REGION 
    export REGISTER_URL=https://$SERVERLESS_REGION-$DOMAIN_PROJECT_ID.cloudfunctions.net/register-computer 
    

    Replace the following:

  4. Create and start a Windows Server node pool by passing the specialized scriptlet that joins the node to the AD domain:

       
    gcloud  
    container  
    node-pools  
    create  
     NODE_POOL_NAME 
      
     \ 
      
    --cluster = 
     CLUSTER_NAME 
      
     \ 
      
    --image-type = 
     IMAGE_NAME 
      
     \ 
      
    --no-enable-autoupgrade  
     \ 
      
    --machine-type = 
     MACHINE_TYPE_NAME 
      
     \ 
      
    "--metadata = 
    sysprep-specialize-script-ps1 = 
    iex (( 
    New-Object  
    System.Net.WebClient ) 
    .DownloadString ( 
    ' $REGISTER_URL 
    ' )) 
    " 
    

    Replace the following:

    • NODE_POOL_NAME : the name of your Windows Server node pool.
    • CLUSTER_NAME : the name of the cluster you created.
    • IMAGE_NAME : the node image to use, such as WINDOWS_LTSC_CONTAINERD . For more information, see Choose your Windows Server node image .
    • MACHINE_TYPE_NAME : the machine type. n1-standard-2 is the minimum recommended machine type as Windows Server nodes require additional resources. Machine types f1-micro and g1-small are not supported. Each machine type is billed differently. For more information, refer to the machine type price sheet .

Your Windows Server node is now joined to your Active Directory domain.

What's next