2026 年遷移指南:從 cgroup v1 升級到 v2、containerd 1.x 到 2.0、docker shim 刪除、nftables kube-proxy。檢測相容性問題和回滾策略。
KUBERNETES:從基礎到進階
模組 9:叢集管理
xdev.asia
🎯 課程目標____HTMLTAG_68__HTMLTAG_69___理解並實現從舊基礎設施(cgroup v1、containerd 1.x、iptables)到新堆疊 2026(cgroup v2、containerd 2.0、nftables)的遷移。檢測重大變更並進行相應處理。
1。為什麼我們需要遷移?
___HTMLTAG_73__HTMLTAG_74___時間軸棄用:
___HTMLTAG_78__HTMLTAG_79___Dockershim:刪除了 K8s 1.24 (2022) — 必須使用 containerd 或 CRI-O
___HTMLTAG_82__HTMLTAG_83___cgroup v1:已棄用的 Linux 核心 6.x,Ubuntu 24.04 預設 cgroup v2
___HTMLTAG_86__HTMLTAG_87___iptables kube-proxy:已棄用的 K8s 1.33,刪除了計劃的 1.37
___HTMLTAG_90__HTMLTAG_91___IPVS kube-proxy:已棄用的 K8s 1.35
___HTMLTAG_94__HTMLTAG_95___containerd 1.x:EOL,containerd 2.0 GA (2025),具有許多效能改進
2。遷移前檢查
___程式碼區塊_0___
3。遷移 cgroup v1 → v2
___程式碼區塊_1___
4。遷移containerd 1.x → 2.0
___程式碼區塊_2___
5。遷移 kube-proxy iptables → nftables
___程式碼區塊_3___
6。處理與 cgroup v2 不相容的應用程式
___程式碼區塊_4___
7。回滾策略
___程式碼區塊_5___
8。 Kubernetes 版本升級
___程式碼區塊_6___
摘要
- cgroup v2:Ubuntu 24.04 默認,將 cgroupDriver 改為 systemd
- containerd 2.0:排出→升級→驗證→解壓縮每個節點
- kube-proxy nftables:修補設定映射 → 重新啟動 DaemonSet
- 在遷移到生產環境之前始終制定回滾計劃
- K8s升級:各個小版本,請勿跳過
- 在遷移到生產環境之前在臨時叢集上進行測試