ACK 嚴格遵循 Kubernetes 社區一致性認證。本文介紹 ACK 的 Kubernetes 1.36 版本主要變更,包括升級注意事項、組件版本、重大變化、功能變更與棄用說明。
組件版本說明
下表為 ACK 叢集核心組件版本的支援情況。
核心組件 | 版本號碼 |
Kubernetes | 1.36.1-aliyun.1 |
etcd | v3.6.10 |
containerd | 2.1.6 |
CoreDNS | v1.12.1.3 |
CSI | 升級至組件當前支援的最新版本。詳細資料,請參見組件變更記錄csi-plugin、csi-provisioner。 |
CNI | Flannel v0.28.0.6 |
Terway 和 TerwayControlplane v1.15.0 及以上 |
重大變化
自 1.36 版本起,Service 的
.spec.externalIPs欄位被標記為棄用,並計劃在 1.43 版本中完全移除。多年來,該欄位一直是一個已知的安全隱患,會導致叢集流量遭受中間人攻擊,相關漏洞已記錄在 CVE-2020-8554 中。如果目前正在使用該欄位,請儘快遷移。建立1.36版本叢集中,Gateway API組件預設安裝版本從1.3.0變更至1.5.1。由於Gateway API 在1.5.1版本中棄用了v1alpha2版本的TLSRoute API,會導致1.25及以下版本的服務網格ASM執行個體和1.29.2以下版本的Istio無法正常工作。
已有叢集升級到1.36版本時,Gateway API不會自動升級。請參見Gateway API,手動升級組件版本。
功能變更
VolumeGroupSnapshot 特性進入穩定階段(GA),允許同時跨多個 PersistentVolumeClaims 建立一致性快照,減少因非同步快照導致的資料不一致風險。
Mutable CSINode allocatable 特性進入穩定階段,CSI 驅動可動態更新節點可掛載卷數量,避免因卷掛載上限資訊過時而導致調度不準或掛載失敗。
動態資源分派(DRA)關鍵特性進入穩定版本,包括 DRA admin access 和 prioritized lists,為硬體資源的全域管理與一致、可預測的資源選擇邏輯提供長期穩定的 API 基礎。此外,部分備受期待的功能已升級至 Beta 版,詳見 Kubernetes 1.36 DRA Updates。
MutatingAdmissionPolicies 進入穩定階段,管理員可直接在 API Server 中使用 CEL 定義資源變更規則,為諸多情境提供替代傳統 Admission Webhook 的原生方案,降低網路與營運開銷,帶來更可預測的叢集行為。
UserNamespacesSupport 特性進入穩定階段,Pod 使用 Linux 使用者命名空間增強安全性的能力預設啟用。該能力不影響現有 Pod,可手動指定
pod.spec.hostUsers來選擇是否使用此特性。KubeletPSI 升級至 Beta,允許 kubelet 通過 Summary API 和 Prometheus 指標擷取 Pressure Stall Information (PSI) 指標。
新增 Staleness mitigation for controllers 功能,該改進可減少控制器因本機快取到期、基於舊叢集狀態執行調諧所導致的錯誤操作、衝突更新或資料損毀。
StrictIPCIDRValidation 功能更新至 Beta,加強對 API 中 IP 和 CIDR 欄位的校正,可更早發現格式錯誤的地址和網段配置,避免 Service、Pod、NetworkPolicy 等資源因無效 IP 或 CIDR 引發隱蔽配置問題或安全風險。
MutablePodResourcesForSuspendedJobs 升級至 Beta 並預設啟用,允許在 Job 被掛起(suspended)時,修改其容器的 CPU、記憶體、GPU 以及擴充資源的 requests 和 limits。
ConstrainedImpersonation 升級至 Beta,使使用者身份類比(impersonation)機制更符合最小許可權原則。啟用後,類比者不僅需要具備"類比某個身份"的許可權,還必須同時具備"以該身份執行具體操作"的許可權。
ComponentStatusz 升級至 Beta 並預設啟用,為核心 Kubernetes 組件提供
/statusz端點,即時展示組件的構建和版本資訊(啟動時間、運行時間長度、Go 版本、二進位版本、相容性版本等),便於營運和開發人員快速瞭解當前運行狀態。ComponentFlagz 升級至 Beta 並預設啟用,為核心 Kubernetes 組件統一提供
/flagz端點,展示組件啟動時實際生效的命令列參數,便於營運和開發人員排查配置問題或驗證參數變更是否已在重啟後生效。
棄用說明
自 1.36 版本起,Service 的
.spec.externalIPs欄位被標記為棄用,並計劃在 1.43 版本中完全移除。如果目前正在使用該欄位,請儘快遷移。自 1.36 版本起,gitrepo volume 外掛程式已永久禁用。建議使用 init 容器或外部 git-sync 工具等替代方案。
參考連結
Kubernetes 1.36 的完整變更記錄,請參見 CHANGELOG-1.36、Kubernetes v1.36: ハル (Haru)。