在 CentOS 上部署 Kubernetes(k8s),版本选择主要看 CentOS 版本 + 使用方式 + 稳定性需求。下面给你一个实用建议。
一、先看你的 CentOS 版本(非常关键)
✅ CentOS 7(仍大量存在)
- 推荐 k8s 版本:1.20 ~ 1.24
- 原因:
- CentOS 7 内核较旧(3.10)
- Docker + kubeadm 对 1.24+ 支持逐渐变差
- k8s 1.24 起 默认移除 dockershim
✅ 最佳实践:
- kubeadm + containerd
- 或 kubeadm + docker(≤1.23)
✅ CentOS Stream 8 / Rocky / Alma 8
- 推荐 k8s 版本:1.24 ~ 1.28
- 内核 ≥ 4.18,支持较好
- 可用 containerd / CRI-O
✅ CentOS Stream 9 / Rocky 9 / Alma 9
- 推荐 k8s 版本:1.27 ~ 1.29(甚至 1.30)
- 适合新项目
- 建议直接用 containerd
二、Kubernetes 版本怎么选(通用建议)
✅ 生产环境
- 选 次新稳定版(N-1)
- 例如当前最新是 1.30 → 选 1.29
原因:
✅ 测试 / 学习
三、部署方式推荐(CentOS)
✅ 最推荐:kubeadm
示例(CentOS 7):
kubeadm init --kubernetes-version=1.23.17
❌ 不推荐
- minikube(仅本地)
- 一键脚本(不可控)
- docker-desktop(不是 CentOS 场景)
四、容器运行时选择
| k8s 版本 |
推荐运行时 |
| ≤1.23 |
docker / containerd |
| ≥1.24 |
✅ containerd / CRI-O |
| ≥1.27 |
✅ containerd |
五、一句话总结
CentOS 7 → k8s 1.23 最稳
CentOS 8/9 → k8s 1.27~1.29 最合适
生产用 N-1 版本 + containerd + kubeadm
如果你愿意,可以告诉我:
- CentOS 具体版本
- 是否生产环境
- 单节点 / 多节点
我可以直接给你 完整部署方案 + 命令。