使用 gMSA 协调容器

适用于:Windows Server 2022、Windows Server 2019

在生产环境中,通常会使用托管式 Kubernetes 服务 Azure Kubernetes 服务 (AKS) 等容器业务流程协调程序来部署和管理应用和群集服务。 每个业务流程协调程序都有其自己的管理范例,并负责接受要提供给 Windows 容器平台的凭据规范。

在使用组托管服务帐户 (gMSA) 来协调容器时,请确保:

  • 可以按计划使用 gMSA 来运行容器的所有容器主机均已加入域
  • 容器主机有权检索容器使用的所有 gMSA 的密码
  • 会创建凭据规范文件并将其上传到业务流程协调程序,或将其复制到每个容器主机上,具体取决于业务流程协调程序希望如何处理它们。
  • 容器网络允许容器与 Active Directory 域控制器通信,以便检索 gMSA 票证

将 gMSA 与 Kubernetes 结合使用

gMSA 可与 AKS 结合使用,也可与 Azure Stack HCI 上的 AKS(这是 AKS 业务流程协调程序的本地实现)结合使用。 若要详细了解如何将 gMSA 与 Kubernetes 结合使用,请参阅在 Windows 容器中使用 Azure Kubernetes 服务上的 gMSA在 Azure Stack HCI 上的 AKS 中配置组托管服务帐户

若要了解有关此功能的最新行业信息,请参阅为 Windows Pod 和容器配置 gMSA

将 gMSA 与 Service Fabric 结合使用

当你在应用程序清单中指定了凭据规范位置时,Service Fabric 支持使用 gMSA 运行 Windows 容器。 你需要创建凭据规范文件,并将其置于每个主机上 Docker 数据目录的 CredentialSpecs 子目录中,以便 Service Fabric 可以找到它。 可以运行 Get-CredentialSpecCredentialSpec PowerShell 模块的一部分)来验证凭据规范是否位于正确的位置。

请参阅快速入门:将 Windows 容器部署到 Service Fabric为在 Service Fabric 上运行的 Windows 容器设置 gMSA,详细了解如何配置应用程序。

如何将 gMSA 与 Docker Swarm 配合使用

若要将 gMSA 用于由 Docker Swarm 管理的容器,请运行参数为 --credential-specdocker service create 命令:

docker service create --credential-spec "file://contoso_webapp01.json" --hostname "WebApp01" <image name>

若要详细了解如何将凭据规范用于 Docker 服务,请参阅 Docker Swarm 示例

后续步骤

除了协调各个容器之外,还可以使用 gMSA 来执行以下操作:

如果在设置过程中遇到任何问题,请查看我们的故障排除指南,了解可能的解决方案。