在 CentOS 上部署 Kubernetes(K8s),版本选择需要特别谨慎,因为 CentOS 官方生态已经发生较大变化。下面给你一个清晰、实用的建议。
一、先看结论(推荐)
✅ 最推荐:CentOS Stream 9(或 Rocky Linux 9 / AlmaLinux 9)
⚠️ 不推荐:CentOS Linux 7 / 8(已停止维护或即将停止)
二、各版本情况对比
1️⃣ CentOS Linux 7(不推荐)
- 内核版本旧(3.10)
- 官方支持已于 2024-06-30 结束
- 新版本 K8s(1.24+)已不再支持 docker-shim
- 问题多、兼容性差
❌ 不适合新部署 K8s
2️⃣ CentOS Linux 8(不推荐)
- 官方已于 2021-12-31 停止维护
- 即使通过第三方源,也不稳定
❌ 已淘汰
3️⃣ CentOS Stream 9(✅ 推荐)
- RHEL 9 的上游版本
- 内核较新(5.14+)
- 对 Kubernetes 1.26~1.29 支持良好
- 社区和云厂商支持度较高
✅ 适合生产 & 学习
4️⃣ Rocky Linux 9 / AlmaLinux 9(✅ 更稳)
- 100% 兼容 RHEL 9
- 比 CentOS Stream 更稳定(Stream 是“滚动版”)
- 很多企业级 K8s 生产环境在用
✅ 生产环境首选
三、Kubernetes 版本与系统对应建议
| K8s 版本 |
推荐系统 |
| 1.24+ |
CentOS Stream 9 / Rocky 9 |
| 1.26+ |
强烈建议 RHEL 9 系列 |
| 1.29+ |
不建议用 CentOS 7 |
⚠️ K8s 1.24 起 已移除 dockershim,推荐 containerd 或 cri-o
四、最小化系统要求(重要)
部署 K8s 前确保:
- 关闭 SELinux(或正确配置)
- 禁用 swap
- 开启
br_netfilter
- 使用 systemd 作为 cgroup driver
- 时间同步(chronyd)
五、如果你是“新手 / 学习用途”
✅ 推荐组合:
- CentOS Stream 9 + containerd + kubeadm
- 或直接用 Minikube / Kind(不挑系统)
六、总结一句话
新部署 Kubernetes,不要用 CentOS Linux 7/8,优先选 CentOS Stream 9 或 Rocky Linux 9。
如果你愿意,我可以:
- 给你一套 CentOS Stream 9 安装 K8s 的详细步骤
- 或根据你用途(学习 / 生产 / 云)定制方案