可以的,CentOS 完全可以用来部署 Kubernetes(k8s),而且这是非常常见的做法之一。不过需要注意 CentOS 的版本和生命周期问题。下面给你一个清晰说明。
| CentOS 版本 | 是否推荐 | 说明 |
|---|---|---|
| CentOS 7 | ✅ 可用 | 稳定、成熟,但已停止维护(EOL 2024-06) |
| CentOS Stream 8 | ⚠️ 可用但不推荐 | 滚动版本,稳定性略差 |
| CentOS Stream 9 | ✅ 推荐 | 当前主流,适合新集群 |
| ❌ 旧版 CentOS 6 | ❌ 不支持 | 内核太老 |
✅ 结论:
- 新部署建议:CentOS Stream 9
- 老环境:CentOS 7 仍可运行 k8s(1.24 及以下)
✅ 必须满足:
br_netfilter、ip_forwardcontainer runtime(containerd / docker)适合生产 & 学习
# 关闭 swap
swapoff -a
# 安装 containerd
yum install -y containerd
# 安装 kubeadm、kubelet、kubectl
yum install -y kubeadm kubelet kubectl
# 初始化控制节点
kubeadm init
✅ 优点:
适合边缘、测试、小集群
curl -sfL https://get.k3s.io | sh -
✅ 优点:
⚠️ 注意以下几点:
CentOS 7 默认 firewalld & SELinux
setenforce 0
systemctl stop firewalld
内核模块
modprobe br_netfilter
NetworkManager 会干扰 CNI
| 对比项 | CentOS 7 | CentOS Stream 9 |
|---|---|---|
| 内核 | 3.10 | 5.x |
| k8s 支持 | k8s ≤ 1.24 | 最新 k8s |
| 生命周期 | ❌ 已停止 | ✅ 活跃 |
| 建议 | 老环境 | ✅ 新部署 |
✅ CentOS 可以部署 Kubernetes,而且是生产环境非常常见的选择
⚠️ 如果是新环境,建议使用 CentOS Stream 9(或 Rocky / Alma)
如果你需要,我可以:
你现在是 新环境 还是 已有 CentOS 机器?