Kubernetes 版本在 Ubuntu 上如何选择
导读:Kubernetes 版本选择指南 Ubuntu 一、选择原则 优先选择处于维护期的稳定大版本,尽量与上下游生态(如容器运行时、网络插件、存储/Ingress 控制器、云厂商托管服务)保持一致或相近。 控制平面与节点的小版本偏差不宜过大,...
Kubernetes 版本选择指南 Ubuntu
一、选择原则
- 优先选择处于维护期的稳定大版本,尽量与上下游生态(如容器运行时、网络插件、存储/Ingress 控制器、云厂商托管服务)保持一致或相近。
- 控制平面与节点的小版本偏差不宜过大,通常建议不超过2个小版本;同一集群内各组件版本需一致或兼容。
- 若需长期运行与稳定维护,优先选择带有长期支持属性的版本线;若需新特性,可在测试环境先行验证后再推广。
- 在 Ubuntu 上,版本选择与操作系统代号的耦合度已降低,重点在于仓库源与依赖的匹配。
二、版本选择速查表
| 场景 | 推荐选择 | 说明 |
|---|---|---|
| 生产稳定优先 | 当前稳定大版本的次新补丁版(如稳定线为 vX.Y,则选 vX.Y.z 中较高的 z) | 兼顾稳定性与修复度,风险更低 |
| 需要新特性/评估 | 最新稳定版 | 先在测试环境验证,再滚动升级到生产 |
| 对接云厂商托管集群 | 与托管版本对齐或低1个小版本 | 便于支持与排障 |
| 存量环境维护 | 维持现有大版本,按官方节奏小步升级 | 减少跨多版本带来的风险 |
| 学习/实验 | 最新稳定版或上一稳定版 | 资料多、兼容性好 |
三、在 Ubuntu 上落地所选版本
- 使用新版仓库源(不再依赖 Ubuntu 代号),以稳定线 v1.28 为例:
- 清理旧源并添加新源与密钥
sudo rm -f /etc/apt/sources.list.d/kubernetes.list
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-archive-keyring.gpg
echo “deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.28/deb/ /” | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt update - 查看可用版本并安装指定版本
apt-cache madison kubeadm kubelet kubectl
sudo apt install -y kubeadm=1.28.x kubelet=1.28.x kubectl=1.28.x - 初始化集群时显式指定版本
sudo kubeadm init --kubernetes-version=v1.28.x - 如遇到旧源报错(如 “kubernetes-xenial Release 没有 Release 文件”),说明使用了过时仓库,按上述新源步骤修复即可。
- 安装网络插件(示例)
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
上述方法同样适用于其它稳定线(将仓库路径中的版本号替换为目标线,如 v1.29)。
- 清理旧源并添加新源与密钥
四、常见坑与规避
- 不要混用不同小版本的 kubeadm/kubelet/kubectl;升级时三者应同步或按官方支持矩阵进行。
- 若使用旧教程里的 “kubernetes-xenial” 源,在 Ubuntu 22.04/24.04 上会报 “没有 Release 文件”,请改用 pkgs.k8s.io 的新仓库格式。
- 初始化失败或镜像拉取慢,可在 kubeadm init 时使用 --image-repository 指定可用镜像仓库;网络插件需与所选 Kubernetes 版本兼容。
- 升级策略建议采用滚动升级,先升级控制平面,再逐批升级节点,并预留回滚方案与窗口期。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Kubernetes 版本在 Ubuntu 上如何选择
本文地址: https://pptw.com/jishu/753313.html
