在 CentOS 上部署 Kubernetes(k8s) 时,内存需求取决于 部署规模、节点角色(master/worker)和运行组件。下面给你一个 实用参考建议,而不是只看官方最低值。
适合:个人学习、测试 kubeadm、跑小实验
| 角色 | 最低 | 推荐 |
|---|---|---|
| Master | 2GB | 4GB+ |
| Worker | 2GB | 4GB+ |
| 单节点 All-in-One | 4GB | 8GB+ |
✅ 推荐配置(最稳)
2GB 内存经常会出现 kubelet / etcd OOM,不建议生产或长期用
| 节点数 | 推荐内存 |
|---|---|
| 1 个 master | 4–8GB |
| 3 个 master(HA) | 8GB / 节点 |
| 用途 | 推荐内存 |
|---|---|
| 普通服务 | 8GB+ |
| Java / 大数据 | 16GB+ |
| 高并发 | 32GB+ |
| 组件 | 最低 |
|---|---|
| Master | 2GB |
| Worker | 2GB |
| CPU | 2 核 |
⚠️ 实际经验:低于 4GB 非常容易出问题
swapoff -a
sed -i '/swap/d' /etc/fstab
否则 kubelet 起不来。
CentOS 7/8 本身会占用:
所以 2GB 主机 ≈ 实际只剩几百 MB 给 Pod
| 运行时 | 内存占用 |
|---|---|
| containerd | 较低 ✅ |
| Docker | 略高 |
free -h
如果你看到:
CentOS 部署 k8s:
如果你愿意,我可以:
你现在是 几台机器、多大内存?