结论先说:不难,但看你用什么方式。
下面分几种情况给你讲清楚:
一、最省事的方式(强烈推荐新手)
用 kubeadm + Ubuntu,官方标准方案
- Ubuntu 20.04 / 22.04 都行
- 一条命令装依赖,几条命令拉起集群
- 官方文档成熟,踩坑少
难度:⭐⭐(中等偏低)
适合:学习、测试、中小项目
大致步骤:
- 装 containerd / docker
- 关 swap、改内核参数
kubeadm init
- 装 CNI(如 Calico / Flannel)
kubectl join 加节点
二、最轻松的方式(不想折腾)
直接用现成发行版
- k3s(轻量 K8s,一条命令)
- MicroK8s(Ubuntu 官方出品)
- Kind / Minikube(本地玩)
难度:⭐(非常简单)
适合:本地开发、demo、入门
例如:
sudo snap install microk8s --classic
microk8s enable dns dashboard
三、生产级部署(稍微复杂)
如果你要:
- 多 master 高可用
- 负载均衡
- 证书 / 备份 / 监控
难度:⭐⭐⭐⭐
适合:企业生产
通常会配合:
- HAProxy / Keepalived
- Prometheus / Grafana
- Rook / Ceph
四、常见坑(提前知道就不难)
- ❌ 没关 swap → kubelet 起不来
- ❌ 防火墙没放行端口
- ❌ 内核参数没改(桥接流量)
- ❌ 容器运行时版本不兼容
五、给你一句实话
Ubuntu 上部署 K8s,比 Windows 简单,比裸机简单,比云厂商控制台难一点但可控。
如果你愿意,我可以:
- 给你一份 Ubuntu 22.04 + kubeadm 实操清单
- 或推荐 最适合你场景的 K8s 方案
你现在是:学习 / 开发 / 生产?单节点还是多节点?