在 CentOS 上部署 Kubernetes(k8s)所需的内存,取决于部署规模、节点角色(Master/Worker)以及运行的工作负载。下面给你一个清晰参考。
一、最低要求(官方 & 实测)
1. 单节点(All-in-One,学习/测试)
- CentOS 系统本身:≥ 1 GB
- Kubernetes 组件(kube-apiserver、etcd、scheduler、controller、kubelet、kube-proxy):≥ 1.5–2 GB
- 推荐最小内存:2 GB(仅能跑空集群)
- 实际可用建议:4 GB+
✅ 适合:
- 学习
- 实验
- 本地虚拟机(Minikube / kubeadm 单节点)
2. 多节点最小集群(1 Master + 1 Worker)
| 节点 |
最低内存 |
推荐内存 |
| Master |
2 GB |
4 GB |
| Worker |
2 GB |
4 GB |
| 合计 |
4 GB |
8 GB |
⚠️ Master < 2GB 很容易因 etcd / apiserver OOM 起不来
二、生产环境建议(重要)
小规模生产(5–10 节点)
- Master:4–8 GB
- Worker:8 GB 起
- etcd 单独部署时:≥ 4 GB
中大型生产
- Master:8–16 GB
- Worker:16 GB+
- 开启监控(Prometheus)、日志(EFK)后内存显著增加
三、CentOS 特有问题
-
CentOS 7
- 默认内核较旧
- 建议关闭 swap
- 内存 ≤ 2GB 很容易踩坑
-
CentOS Stream / Rocky / Alma
- 更推荐用于新集群
- 内存占用与 CentOS 7 类似
四、快速判断你够不够
| 用途 |
最低内存 |
建议 |
| 学习 kubeadm |
2 GB |
4 GB |
| 跑微服务 |
8 GB |
16 GB |
| 生产集群 |
16 GB+ |
按节点算 |
五、内存不够的常见表现
kubelet 频繁重启
etcd OOM
- Pod 一直处于
Pending
- 节点
NotReady
如果你愿意,可以告诉我:
- 用 kubeadm / 二进制 / Rancher / K3s
- 单节点还是多节点
- 跑什么业务
我可以直接给你精确内存 & CPU 配置方案。