k0s 1.34 版本現已發佈,本次更新在 Windows 節點支持、IPv6 單棧自動化(Alpha)和構建可復現性方面帶來了重要改進。該版本繼續致力於打造一個適用於生產環境的、簡潔且一致的 Kubernetes 發行版,優化 Linux 和 Windows 環境的使用體驗。
Kubernetes 1.34 新特性
上游 Kubernetes 1.34 提升了穩定性和可觀測性,主要亮點包括:
- Pod 生命週期改進:Windows 節點的優雅關閉處理,改進的 Job Pod 替換策略,以及更細粒度的容器重啓規則。
- 動態資源分配(DRA)GA:結構化分配 GPU、TPU、網卡等設備,增強監控和優先級管理。
- 網絡增強:Windows kube-proxy 支持直接服務器返回(DSR),降低負載均衡器延遲和負載。
- 卷和存儲更新:VolumeAttributesClass GA 和卷擴容失敗恢復功能,提高靈活性和可靠性。
- Pod 級資源管理(Beta):定義跨多個容器共享的 Pod 總資源,簡化調度。
- 容器生命週期鈎子:PreStop/PostStart 鈎子支持穩定的 Sleep 操作,改善生命週期管理。
- 流和緩存改進:流式 LIST 響應和穩健的 watch 緩存初始化,減輕內存壓力,提高 API 服務器性能。
- 安全增強:Pod 證書用於 mTLS 認證(Alpha)、變異准入策略(Beta)和更嚴格的匿名請求控制。
k0s 1.34 新特性
本次發佈聚焦四大領域:IPv6 網絡、Windows 穩定性與集成、功能門控和開發者自動化。
Windows 節點改進
雖然 Windows 支持尚未完全進入生產,但本版本中持續完善了節點生命週期、進程管理和集羣一致性:
- 優化 kubelet 進程在節點關閉和重啓時的清理,防止遺留進程。
- 增強 Windows 服務停止處理,確保 kubelet 在 SIGTERM 等事件下正常退出。
- 新增針對 Windows 工作節點配置的語義校驗,防止無效配置生效。
- 修復工作運行時目錄初始化中的路徑解析問題,確保 Windows 主機設置穩定。
- 改進 Windows 容器的 CRI 運行時連接管理,減少啓動失敗。
- 驗證混合 Linux/Windows 集羣的雙棧網絡配置。
- 確保 Calico Windows 組件兼容新的 IPv6 和安全上下文變更。
- 優化基於 PowerShell 的代理二進制及運行時依賴打包腳本。
- 加強跨平台符合性測試,確保 Linux 與 Windows 節點行為一致。
這些改進顯著提升了 Windows 工作節點的穩定性,為混合集羣運行打下堅實基礎。
IPv6 單棧支持
k0s 1.34 引入了 IPv6 單棧集羣的 Alpha 支持,適合現代或受限環境部署。此前 k0s 僅支持 IPv4 單棧和 IPv4/IPv6 雙棧。IPv6 單棧下,k0s 的所有功能均已實現,包括 Calico 和 kube-router 支持、NLLB、CPLB 等。
功能門控
新增 k0s Feature Gates,允許在不改代碼的情況下選擇性開啓實驗性功能,便於新功能的控制測試和驗證。目前唯一的功能門控是針對 IPv6 單棧。
核心組件更新
- Kubernetes 升級至 v1.34.1
- CoreDNS 更新至 v1.13.1
- etcd 升級至 v3.6.5
- Helm 更新至 v3.19.0
- Calico 升級至 v3.29.6
- Kube-router 升級至 v2.6.1
- Go 運行時更新至 v1.24.8
- containerd 升級至 v1.7.28
- runc 更新至 v1.3.2,提升安全性和性能
CLI 和配置改進
- k0s kubeconfig create 新增 --context-name 標誌,支持多集羣更靈活配置。
- 加強 Linux 和 Windows 工作節點配置驗證。
- 優化集羣初始化中的錯誤報告和鎖機制。
詳情可查看:https://blog.k0sproject.io/posts/k0s-1.34-released/