在 CentOS 上部署 Kubernetes(k8s),常见且推荐的方式有下面几种,按“使用场景 + 难易程度”给你一个清晰对比:
适合: 大多数场景(学习、测试、生产)
特点
CentOS 版本建议
基本步骤
# 1. 关闭 swap
swapoff -a
# 2. 安装容器运行时(containerd 推荐)
# 3. 安装 kubeadm kubelet kubectl
# 4. 初始化 master
kubeadm init
# 5. 配置 kubectl
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
# 6. 安装网络插件(Calico / Flannel)
kubectl apply -f calico.yaml
适合: 本地学习、开发测试
特点
minikube start --driver=none
⚠️ 在 CentOS 上建议用
--driver=none
适合: CI、本地测试
kind create cluster
适合: 企业级、离线环境
适合: 多节点、自动化部署
CentOS 上建议:
| 问题 | 解决 |
|---|---|
| swap 未关闭 | swapoff -a |
| 防火墙 | 关闭或放行端口 |
| SELinux | 建议 permissive |
| 内核版本低 | ≥ 4.x |
| 时间不同步 | 装 NTP |
✅ 学习 / 测试:kubeadm + containerd
✅ 本地实验:minikube
✅ 企业生产:kubeadm 或 RKE2
如果你愿意,可以告诉我:
我可以直接给你一套 可复制的部署命令。