sealos 中文使用教程
2026-08-11发表于
Cloudos一、速览
入门
Sealos 是一个基于 Kubernetes 构建的云操作系统,目标是把「装集群、跑应用、做运维」这件事压缩到一条命令。它用 Go 编写,核心思路是把整个 Kubernetes 集群打包成容器镜像 —— 装集群就像 docker pull 一样简单。
它解决的是云原生基础设施的典型痛点:传统方式装一个高可用 K8s 集群需要 kubeadm、keepalived、HAProxy 等多个组件配合,而 Sealos 将这些全部封装为可复用的镜像层。应用商店里预置了 FastGPT、MySQL、Redis、PostgreSQL、MongoDB 等常用服务,点击即可部署,不需要手写 YAML。
![]{https://opengraph.githubassets.com/master/labring/sealos}
对于个人开发者,可以用它快速拉起一套完整的开发环境(Devbox),免去本地 Docker/K8s 配置的麻烦;对于团队,则可以利用它的多租户隔离和资源配额做协作管理。以下内容围绕自建场景展开。
二、安装
入门
Sealos 提供一条命令的安装脚本,要求 root 权限。执行后系统会安装 sealos 二进制到 /usr/local/bin:
curl -fsSL https://raw.githubusercontent.com/labring/sealos/main/scripts/install.sh | sh
安装完成后验证版本:
sealos version
核心概念:Kubernetes 本身也被打包为镜像,你需要拉取对应版本的集群镜像来初始化。格式通常为 labring/kubernetes:v1.27.0,镜像 tag 对应 K8s 版本号。
sealos run labring/kubernetes:v1.27.0
注意:国内服务器拉取 Docker Hub 镜像可能超时,可以在启动集群前给容器运行时配置镜像加速器。
对于已有 K8s 集群的用户,Sealos 也可以作为纯 PaaS 层安装,跳过集群创建步骤,只使用应用商店和 Devbox 功能。官网提供了云端托管版本,无需自建即可体验。
三、核心用法
进阶 · 推荐细读
Sealos 的日常操作集中在集群生命周期管理和应用部署两条线上。先说集群管理。
创建单节点集群(含本地 PV 支持):
sealos run labring/kubernetes:v1.27.0 \
--masters 192.168.1.10 \
--pwd your-ssh-password
添加工作节点:
sealos add --nodes 192.168.1.11 --pwd your-ssh-password
销毁集群(会清除节点上的所有 K8s 组件):
sealos reset
应用部署方面,Sealos 提供了一个应用商店 CLI——sealos run 也可以直接跑应用镜像。以部署一个 FastGPT 为例:
sealos run labring/fastgpt:latest
该命令会自动创建 Deployment、Service 和 Ingress,并输出访问地址。所有应用元数据(镜像、端口、依赖关系)都被封装在 OCI 镜像里,相当于把 Helm Chart 做成了标准容器镜像。
常用排查命令包括查看应用状态和日志:
kubectl get pods -A
kubectl logs -f -l app=fastgpt -n fastgpt
Sealos 不替代 kubectl —— 它管理集群的安装和应用的封装,底层仍是标准 K8s 集群,所有原生 API 照常工作。
四、配置
进阶 · 推荐细读
Sealos 的集群配置通过 Clusterfile(YAML)描述。一个最小化的 Clusterfile 如下:
apiVersion: sealos.io/v1
kind: Cluster
metadata:
name: my-cluster
spec:
image: labring/kubernetes:v1.27.0
ssh:
host: 192.168.1.10
user: root
passwd: your-ssh-password
masters:
- 192.168.1.10
nodes:
- 192.168.1.11
然后执行:
sealos apply -f Clusterfile
这里有几个关键参数:
- image:指定 K8s 版本镜像,升级集群时只需改这个字段重新 apply
- ssh:Sealos 通过 SSH 连接所有节点执行初始化,需要能够免密或密码登录
- masters / nodes:分别对应控制平面和工作节点 IP 列表
对于网络插件,Sealos 默认使用 Calico。如果需要更换为 Flannel 或其他 CNI,可以在创建集群后单独安装网络插件镜像:sealos run labring/flannel:v0.21.0。镜像仓库默认使用 SeaweedFS,也可以替换为外部 Registry,在 ~/.sealos/config.yaml 中调整。
五、运维场景
深入 · 老手可选
Sealos 自身运行方式与普通宿主机进程一致,不依赖 systemd 托管 K8s 组件——集群组件都运行在容器里。但 sealos CLI 本身如果希望开机自启或守护,可以写一个简单的 systemd unit:
[Unit]
Description=Sealos CLI
After=network-online.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/sealos run labring/kubernetes:v1.27.0
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
这在重启后自动拉起集群初始化流程的场景下很实用。
监控集成:集群本身暴露标准 K8s metrics API,直接接入 Prometheus + Grafana 即可:
sealos run labring/kubernetes-prometheus:v1.0.0
Sealos 应用商店中提供了预打包的监控方案,会自动创建 ServiceMonitor,无需手工配置抓取规则。
CI/CD 场景:你可以用 sealos 构建自己的应用镜像并在任意节点上部署。构建命令与 Dockerfile 语法兼容:
sealos build -t labring/myapp:v1.0.0 .
sealos push labring/myapp:v1.0.0
这样应用分发的粒度从「容器镜像」提升到了「整个应用栈」,与 GitHub Actions 等 CI 工具集成时,只需在 workflow 中调用这两条命令。
六、踩坑
入门
以下是自建 Sealos 集群时常见的问题。
1. 必须在 root 下运行
Sealos 的 SSH 操作和 iptables 配置都需要 root 权限,用普通用户执行会直接报权限不足。建议全程用 root,或者确保 sudo 用户有免密权限。
2. 内核版本过低
Calico 和 Kubernetes 1.27+ 要求内核 ≥ 5.4。CentOS 7 默认 3.10 内核会直接失败,建议先升级内核或改用 Ubuntu 22.04+。
3. 节点之间需要互通
Sealos 不会自动配置节点间的网络通路。多个节点必须处于同一二层网络且能互相 ping 通,否则初始化会卡在 etcd 健康检查。
4. 镜像仓库拉取超时
sealos run 拉取镜像依赖容器运行时的 registry 配置。国内环境务必先配置 Docker 的 registry-mirrors,否则容易反复重试最终失败。
5. 不要与 kubeadm 混用
Sealos 管理的集群上如果再跑 kubeadm init 或 kubeadm reset,会导致 etcd 数据混乱。要么全用 Sealos 管理,要么换传统方式。
如果遇到应用商店安装后无法访问的问题,优先检查 Ingress Controller 是否就绪:kubectl get pods -n ingress-nginx。大多数情况是节点安全组未放行 80/443 端口,与 Sealos 本身无关。
总体而言,Sealos 给出一套完整的分发路径:一条命令装 K8s,镜像封装应用,应用市场开箱即用。与纯手工配置 K8s 相比,学习成本低一个量级;与 Rancher 等重量级平台相比,又保持了 CLI 的轻量。对于希望快速搭建一套可运行的多应用集群的团队,值得花一个周末试用。
项目信息
| 项目 | 值 |
|---|---|
| 仓库 | labring/sealos |
| 语言 | TypeScript |
| Star | 18,317 |
| Fork | 2,476 |
| 主页 | https://sealos.io |
参考链接
121
72
1
1345
文章目录
评论