别再为 K8s 环境搭建卡死了,Sealos 给你一键搞定!
如果你已经在网上搜过 "怎么快速装好 Kubernetes",大概率会看到一堆手动安装步骤、依赖冲突和层层报错。本文把这些绞肉机的步骤全部拔掉,用最接地气的语言告诉你,使用 Sealos 只要一条命令,就能把一个完整的集群(单机、HA、离线)跑起来,同时把常见的坑、最佳实践全部写进来,让你省掉 80% 的调试时间。

为什么大家都说 "Sealos 省事",真的省吗?
- 「只要下载二进制就能跑」——很多新人直接执行二进制,却忘了节点时间同步、主机名唯一等前置条件,结果集群卡在 API Server 启动。
- Sealos 把
kubelet、kube-proxy、etcd等核心组件容器化,内部已经做好了时间、网络、证书的默认配置。只要保证每台机器的hostname不重复、系统时间同步(ntpdate),其余都交给 Sealos。
一步到位的完整流程(从准备到验证)
- 1. 环境准备
- Linux 发行版建议使用 Ubuntu 22.04 或 CentOS 7,内核 >= 5.4(若用 Cilium 网络插件)。
- 每台机器执行
hostnamectl set-hostname master01 # 主节点 hostnamectl set-hostname node01 # 工作节点 apt-get update && apt-get install -y ntpdate ntpdate ntp.aliyun.com
让时间统一。
- 2. 拉取 Sealos 二进制
wget https://github.com/labring/sealos/releases/download/v5.1.2-rc3/sealos_5.1.2-rc3_linux_amd64.tar.gz tar -zxvf sealos_5.1.2-rc3_linux_amd64.tar.gz mv sealos /usr/local/bin/ && sealos version - 3. 拉取所需集群镜像
sealos pull registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.26.15 sealos pull registry.cn-shanghai.aliyuncs.com/labring/helm:v3.13.2 sealos pull registry.cn-shanghai.aliyuncs.com/labring/calico:v3.26.5
这里用的是containerd版,如果你更喜欢 Docker,换成kubernetes-docker镜像即可。 - 4. 一键装集群(单主单节点示例)
sealos run registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.26.15 \ registry.cn-shanghai.aliyuncs.com/labring/helm:v3.13.2 \ registry.cn-shanghai.aliyuncs.com/labring/calico:v3.26.5 \ --masters 10.0.0.30 \ --nodes 10.0.0.31,10.0.0.32 -p YourSSHPassword
关键点:所有镜像顺序必须是kubernetes → helm → 网络插件,否则 Pod 网络会因为插件未提前就绪而报错。 - 5. 验证
kubectl get nodes kubectl get pods -A
所有节点状态Ready,且kube-system命名空间下的核心组件(coredns、etcd、controller-manager)均为Running。

细聊 Sealos 与同类工具的差异
| 维度 | Sealos | Rancher (Kubeadm+UI) | KubeSphere |
|---|---|---|---|
| 安装复杂度 | 一条命令 + 镜像 | 需要先手动部署 Rancher Server,再导入集群 | 同样依赖 kubeadm,且 UI 安装步骤繁琐 |
| 离线支持 | 完整离线包(pull → save → load) | 需自行导出镜像、手写 kubeadm 配置 | 离线方案不完整,社区支持弱 |
| 容器运行时 | 默认 Containerd,可切换 Docker | 默认 Docker,需自行安装 Containerd | 同 Rancher |
| 多集群管理 | 统一 sealos apply -f Clusterfile 管理 | 需要 Rancher UI 才能统一视图 | 内置多集群,但 UI 重量级 |
| 二次开发友好度 | Clusterfile 支持 YAML 合并、helm chart 打包 | Rancher 通过 API 操作,文档分散 | 插件体系复杂,上手慢 |
综上,Sealos 在「快速交付」和「离线部署」上明显领先,而 Rancher/KubeSphere 更适合需要完整 UI 运维平台的企业。
实战经验:我在项目里踩的几个坑
- 网络插件选错:我曾把 Calico 换成 Flannel,却忘了在
Clusterfile中同步networking.podSubnet,导致 Pod 无法互通。经验教训:网络插件的 CIDR 必须保持一致。 - 节点 SSH Key 失效:在一次扩容时,使用密码登录成功,但后续自动化脚本仍走
ssh-keygen,导致节点挂掉。解决办法是统一使用密钥登录并在~/.ssh/authorized_keys中预置。 - 高可用 HA 失误:首次配置多 master 时,把同一 IP 写进了
--masters的列表,结果只有一个 master 真正启动。检查点:确保每个 master IP 唯一、可 ping 通。
进阶玩法:自定义 Clusterfile 实现业务化部署
如果你想在集群里预装 Prometheus、MinIO 或自研 AI 模型,只需要在 Clusterfile 里加入对应的 helm chart:
apiVersion: apps.sealos.io/v1beta1
kind: Cluster
metadata:
name: custom
spec:
hosts:
- ips: [10.0.0.30:22,10.0.0.31:22]
roles: [master, node]
image:
- labring/kubernetes:v1.26.15
- labring/helm:v3.13.2
- labring/calico:v3.26.5
addon:
- name: prometheus
chart: https://github.com/prometheus-community/helm-charts/releases/download/kube-prometheus-stack-45.6.0/kube-prometheus-stack-45.6.0.tgz
- name: minio
chart: https://charts.min.io/minio-8.0.10.tgz
保存后执行 sealos apply -f Clusterfile,Sealos 会自动完成镜像拉取、资源创建以及 Helm 部署,整个过程不到 5 分钟。
小结:把 "复杂度" 彻底降到最低,你只需要懂三件事
- 保证每台机器时间同步、主机名唯一。
- 提前
sealos pull必要的镜像(或离线保存),避免网络波动。 - 一键
sealos run或自定义Clusterfile,其余全部交给 Sealos 打包执行。
掌握了这三点,你再也不需要在社区里翻「kubeadm 安装指南」的旧帖子,而是直接把时间花在业务代码上。

如果你有自己的离线环境、或者已经在生产里跑了好几套 HA 集群,欢迎在下方评论区聊聊你在使用 Sealos 时的奇思妙想或踩坑经历,让大家一起进步 👇。
评论 (0)