你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure Kubernetes 服务的 Windows 容器注意事项
在 Azure Kubernetes 服务 (AKS) 上创建使用 Windows Server 容器的部署时,应记住与 Linux 部署相关的一些差异。 有关上游 Kubernetes 中 Windows 与 Linux 之间的差异的详细比较,请参阅Kubernetes 中的 Windows 容器。
它们的主要区别包括:
- 标识:Windows Server 使用更大的二进制安全标识符 (SID),该标识符存储在 Windows Security Access Manager (SAM) 数据库中。 此数据库不在主机与容器之间或容器之间共享。
- 文件权限:Windows Server 使用基于 SID 的访问控制列表,而不是权限和 UID + GID 的位掩码。
- 文件路径:Windows Server 上的约定是使用 \,而不是 /。 在装载卷的 Pod 规范中,为 Windows Server 容器正确指定路径。 例如,不要在 Linux 容器中指定装入点 /mnt/volume,而是将要装载的驱动器号和位置(例如 /K/Volume)指定为 K: 驱动器。
注意
对于 Kubernetes 版本 1.25 及更高版本,Windows Server 2022 是默认 OS。 在 Kubernetes 版本 1.32 达到生命周期 (EOL) 后,Windows Server 2019 即将停用,并且在未来版本中将不再受支持。 有关详细信息,请参阅AKS 发行说明。
本文介绍了在 Kubernetes 中使用 Windows 容器(而不是 Linux 容器)时要记住的重要注意事项。 有关 Windows 和 Linux 容器的深入比较,请参阅与 Linux 的比较。
注意事项
功能 | Windows 注意事项 |
---|---|
群集创建 | • 第一个系统节点池必须是 Linux。 • 每个群集的最大节点数为 5000。 • Windows Server 节点池名称具有 6 个字符的限制。 |
特权容器 | 不支持。 等效项是HostProcess 容器 (HPC) 容器。 |
HPC 容器 | • HostProcess 容器是 Linux 特权容器的 Windows 替代项。 有关详细信息,请参阅创建 Windows HostProcess Pod。 |
Azure 网络策略管理器 (Azure) | Azure 网络策略管理器不支持: • 命名端口 • SCTP 协议 • 否定匹配标签或命名空间选择器(除“debug=true”之外的所有标签) • “except”CIDR 块(具有异常的 CIDR) • Windows Server 2019 |
节点升级 | AKS 上的 Windows Server 节点不会自动应用 Windows 更新。 相反,你需执行节点池升级或节点映像升级。 这些升级使用最新的 Window Server 2019 和 Windows Server 2022 基本节点映像和安全修补程序部署新节点。 |
AKS 映像清理器 | 不支持。 |
BYOCNI | 不支持。 |
Open Service Mesh | 不支持。 |
GPU | 预览版中受支持。 |
多实例 GPU | 不支持。 |
第 2 代 VM(预览版) | 。 |
自定义节点配置 | • 自定义节点配置有两种配置: • kubelet:受支持。 • OS 配置:不受支持。 |
后续步骤
有关 Windows 容器的详细信息,请参阅Windows Server 容器常见问题解答。