Azure Kubernetes Service 的 Windows 容器考量
您在 Azure Kubernetes Service (AKS) 上建立使用 Windows Server 容器的部署時,您應該記住一些與 Linux 部署相關的差異。 如需上游 Kube 中 Windows 和 Linux 之間差異的詳細比較,請參閱 Kube 中的 Windows 容器。
某些主要差異包括:
- 身分識別:Windows Server 使用儲存在 Windows Security Access Manager (SAM) 資料庫中較大的二進位安全性識別碼 (SID)。 主機和容器之間或不同容器之間,不共用此資料庫。
- 檔案權限:Windows Server 使用基於 SID 的存取控制清單,而不是權限的位元遮罩和 UID+GID。
- 檔案路徑:Windows Server 上的慣例使用 \ 而非 /。 在裝載磁碟區的 Pod 規格中,請正確指定 Windows Server 容器的路徑。 例如,在 Linux 容器中不要指定 /mnt/volume 的掛接點,而是指定磁碟機代號和位置,例如 /K/Volume,以裝載為 K: 磁碟機。
注意
針對 Kube 1.25 版和更新版本,Windows Server 2022 預設作業系統。 在 Kube 1.32 版終止生命週期 (EOL) 之後,Windows Server 2019 即將淘汰,未來版本將不會受到支援。 如需詳細資訊,請參閱 AKS 版本資訊。
本文涵蓋在 Kube 中使用 Windows 容器而非 Linux 容器時必須記住的重要考量。 如需 Windows 和 Linux 容器的深入比較,請參閱與 Linux的比較。
考量
功能 | Windows 考量 |
---|---|
叢集建立 | • 第一個系統節點集區必須是 Linux。 • 每個叢集的節點數目上限為 5000。 Windows Server 節點集區名稱的限制為 6 個字元。 |
具有權限的容器 | 不支援。 對等的是 HostProcess 容器 (HPC) 容器。 |
HPC 容器 | • HostProcess 容器是 Linux 特殊權限容器的 Windows 替代方案。 如需詳細資訊,請參閱建立 Windows HostProcess Pod。 |
Azure Network Policy Manager (Azure) | Azure Network Policy Manager 不支援: • 具名連接埠 • SCTP 通訊協定 • 負面相符標籤或命名空間選取器 ("debug=true" 以外的全部標籤) • "except" CIDR 區塊 (具有例外狀況的 CIDR) • Windows Server 2019 |
節點升級 | AKS 中的 Windows Server 節點不會自動套用 Windows Update。 不過,您會執行節點集區升級或節點映像升級。 此升級會使用最新的 Window Server 2019 和 Windows Server 2022 基本節點映像和安全性修補檔來部署新的節點。 |
AKS Image Cleaner | 不支援。 |
BYOCNI | 不支援。 |
Open Service Mesh | 不支援。 |
GPU | 以預覽形式支援。 |
多重執行個體 GPU | 不支援。 |
第 2 代 VM (預覽版) | 支援。 |
自訂節點設定 | • 自訂節點設定有兩個設定: • kubelet:支援。 • 作業系統設定:不支援。 |
下一步
如需 Windows 容器的詳細資訊,請參閱 Windows Server 容器常見問題。