Upgrade to Pro — share decks privately, control downloads, hide ads and more …

When Windows Meets Kubernetes…

Phil Huang
January 16, 2025

When Windows Meets Kubernetes…

Phil Huang

January 16, 2025
Tweet

More Decks by Phil Huang

Other Decks in Technology

Transcript

  1. When Windows Meets Kubernetes… Cloud Native Taiwan User Group 2025/01

    Phil Huang <[email protected]> CNCF Ambassador / Senior Cloud Solution Architect, Microsoft 2025/01/16
  2. Windows Family Container Images 派生表 Windows Base Images Windows windows:ltsc2019

    Windows Server windows/server:ltsc2025 Server Core windows/servercore:ltsc2025 Nano Server windows/nanoserver:ltsc2025 .NET Framework 4.8 dotnet/framework/aspnet:4.8 .NET 9 dotnet/aspnet:9.0 Linux Base Images IIS windows/servercore/iis: windowsservercore-ltsc2022 Dev Container devcontainer/*
  3. Windows 11 Enterprise MSSQL Family Container Images 派生表 Ubuntu Base

    Images MSSQL - Ubuntu Based mssql/server:2022-latest Red Hat Base Images MSSQL - Red Hat Based mssql/rhel/server:2022-latest • MSSQL 沒有提供 Windows Based 的基礎映像檔, 因為可以直接裝在 Server 上就好... • 如果真的要裝 MSSQL Container Images 的話, 則需要先裝 WSL 再拉上面的映像檔, 如下圖: Windows NT Kernel Windows Usermode RHEL Distro WSL 2 Kernel MSSQL RH Image
  4. 如何選擇 Windows Container Images • 以上這四個 Images 都一定要運行在 Windows 作業系統上

    • 在跟其他人溝通的時候, 建議要講全名 , 不然很容易混淆到底在講哪一個映像檔 • Windows 真的沒有提供 2022 的 Container, 2025 未知 • 如果是 .Net Core 開發者, 建議都從 Nano Server 開始包起來
  5. Podman Desktop: Images 可以在 WSL 內拉下 Windows Container Images, 但因為

    WSL 為 Linux 環境, 則無法啟動 需要採取別的做法
  6. Kubernetes 1.32: Penelope “Windows strikes back!” <- 這官網文件 • KEP

    4802: Windows 節點終於支援 Graceful shutdown • KEP 4885: Windows CPU 和 Memory Affinity 實踐 現有 13 個功能
  7. Windows on Kubernetes 的 6 種長相 • 第 1 /

    2 / 3 / 4 都是正常用法 • 第 2 / 3 / 4 限定底層一定要用 Windows OS • 針對第 5 個方式, 這個是外部貢獻者自行打包, 使用風險需自負 • 替代第 5 個方式的最佳做法為第 6 個, 請愛用 KubeVirt 專案