自动将 GKE Windows Server 节点加入托管式 Microsoft AD 网域

本页面介绍了如何在 使用命令行将 Google Kubernetes Engine (GKE) 集群迁移到托管式 Microsoft AD 网域 自动加入网域功能 功能。

代管式 Microsoft AD 如何自动将 Windows Server 节点加入网域

在 Google Cloud 控制台中创建节点池时 您的 GKE 集群,您可以使用 可从托管式 Microsoft AD 中使用的现成脚本, 自动加入您的 Managed Microsoft AD 网域。更新后 GKE 创建节点池,代管式 Microsoft AD 会发起域加入请求,并尝试将您的节点加入您的 网域。如果网域加入请求成功,托管式 Microsoft AD 会将节点加入您的网域。如果加入网域的请求失败,则创建的 节点继续运行您需要查看日志以确定并解决问题 然后再创建节点池如需了解详情,请参阅查看调试 日志

您需要从 Cloud Storage 中手动清理未联接节点的相关信息, 在某些特定场景中代管式 Microsoft AD。如需了解详情,请参阅 清理未联接的 虚拟机

您无法使用域名加入脚本更新现有节点池,以自动将现有节点加入您的网域。

自动加入网域功能不会配置 GKE, 运行节点 gMSA 进行身份验证。不过,您可以手动创建 Managed Microsoft AD 中的 gMSA 以及 配置 GKE 节点以使用 gMSA。如需了解如何为 GKE 节点配置 gMSA,请参阅为 Windows Pod 和容器配置 gMSA

准备工作

  1. 创建托管式 Microsoft AD 网域

  2. 使用 Windows Server 节点创建 GKE 集群 池

  3. 确保 Windows Server 节点在 代管式 Microsoft AD 支持

  4. 在托管式 Microsoft AD 网域和节点网络之间配置网域对等互连,或者让托管式 Microsoft AD 网域和节点位于同一网络中。

  5. 使用 Google Cloud Managed Identities 网域创建服务账号 加入以下账号的 (roles/managedidentities.domainJoin) IAM 角色: 具有代管式 Microsoft AD 网域的项目。如需更多信息 请参阅云管理的身份 角色

  6. 在 Windows Server 节点上设置完整的 cloud-platform 访问权限范围。对于 请参阅 授权

元数据

您需要以下元数据键才能将您的 Windows Server 节点连接到 网域。

  • windows-startup-script-url
  • managed-ad-domain
  • 可选:enable-guest-attributes
  • 可选:managed-ad-ou-name
  • 可选:managed-ad-force

如需详细了解这些元数据键,请参阅 元数据

当 Windows Server 节点的计算机账号时,网域加入请求失败 Managed Microsoft AD 中已存在。对于代管式 Microsoft AD, 在加入网域的过程中重复使用现有的计算机账号,您可以使用 managed-ad-force 元数据键(在创建节点时提供) 池

加入 Windows Server 节点

您可以配置这些元数据 密钥 向 GKE 集群添加 Windows Server 节点池。这个 部分说明了如何在 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

后续步骤