Sealos 使用手册:一条命令搞定 Kubernetes 集群部署
一、背景:为什么需要 Sealos?
Kubernetes(K8s)已成为容器编排的事实标准,但其部署复杂度一直让很多人头疼。各组件之间的依赖关系、证书配置、高可用架构搭建等,对新用户来说门槛不低。为了应对这一现状,Sealos 应运而生。
Sealos 是一个基于 Golang 开发的轻量级 K8s 集群部署工具,由国人开发并开源。它基于 kubeadm 进行了封装和优化,以一条 sealos run 命令即可完成集群初始化,大幅降低了 Kubernetes 的部署门槛,实现“开箱即用”的体验。Sealos 是一款基于 Kubernetes 构建的云操作系统,也是一站式云原生操作平台,不仅能一键部署 K8s 集群,还能支持云应用打包分发、离线镜像管理、存储网络自动化部署等能力。
二、Sealos 的核心优势
在开始部署之前,先来了解为什么选择 Sealos:
- 一键部署:一条
sealos run命令就能完成完整 Kubernetes 集群的部署,无需手动安装 kubeadm、kubelet、etcd 等组件,5 分钟即可完成高可用集群搭建。 - 证书有效期长:修改了 kubeadm 源码,默认证书有效期延长至 99 年,彻底解决了证书续期的烦恼。
- 国内镜像优化:Sealos 将所需的集群镜像同步到了阿里云上海地域的镜像仓库(
registry.cn-shanghai.aliyuncs.com/labring),国内用户无需翻墙即可稳定拉取,这也是 Sealos 区别于很多国外部署工具的一大优势。 - 支持离线安装:工具与部署资源包分离,下载离线包后可在无公网环境完成集群部署,适用于对网络有限制的生产环境。
- 跨平台与高可用:支持 amd64 和 arm64 架构,原生支持多节点高可用集群,通过内核 IPVS 实现本地负载均衡,稳定可靠。
三、环境准备
本节参考 Sealos 官方文档的环境要求。
3.1 硬件与操作系统要求
- 至少 1 台 Linux 服务器(推荐 Ubuntu 20.04+、CentOS 7+ 或 Rocky Linux)
- 各节点需分配不同主机名,主机名中不要包含下划线
- 所有节点系统时间需同步(使用 NTP 或 chrony)
- 服务器需开放关键端口:
22(SSH)、6443(K8s API Server)、10250等 - 建议使用干净的操作系统来创建集群,不要在节点上预先安装 Docker 或其他容器运行时——Sealos 会自行安装并配置正确的容器运行时
- 在公有云(阿里云、腾讯云等)环境中安装时,请使用节点的私有 IP 进行配置
3.2 节点规划示例
| 主机名 | IP 地址 | 配置 | 角色 | 系统 |
|---|---|---|---|---|
| master1 | 10.206.0.10 | 2C4G | master | Rocky Linux 9 |
| master2 | 10.206.0.17 | 2C4G | master | Rocky Linux 9 |
| master3 | 10.206.0.11 | 2C4G | master | Rocky Linux 9 |
| worker1 | 10.206.0.15 | 2C4G | worker | Rocky Linux 9 |
3.3 网络互通要求
- 各节点间需通过 SSH 互通,可使用密码登录或配置密钥认证
- 如需在公有云环境安装,请确保安全组开放上述端口
四、安装 Sealos 命令行工具
建议在 K8s 集群的第一台 master 节点上安装并执行初始化命令。
4.1 通过脚本自动安装
国内用户推荐使用代理加速下载(由于 GitHub 在国内访问受限,提前配置代理可大幅提升下载成功率):
export PROXY_PREFIX=https://ghfast.top
curl -sfL ${PROXY_PREFIX}/https://raw.githubusercontent.com/labring/sealos/main/scripts/install.sh | PROXY_PREFIX=${PROXY_PREFIX} sh -s v5.0.1 labring/sealos安装完成后,验证版本:
sealos version4.2 手动下载安装(适用于 GitHub 访问受限场景)
访问 GitHub Releases 获取对应版本的 Linux amd64 压缩包,上传服务器后执行:
tar zxvf sealos_5.0.1_linux_amd64.tar.gz
chmod +x sealos
mv sealos /usr/local/bin/五、快速部署 Kubernetes 集群
5.1 单节点集群(适合测试环境)
如果想快速搭建一个单节点的 Kubernetes 集群用于开发测试,可直接执行以下命令(注意:--masters 中填写 master 节点的内网 IP 和 SSH 登录密码):
sealos run \
--masters 192.168.0.2 \
--ssh-passwd your-ssh-password \
labring/kubernetes:v1.29.9这里的 v1.29.9 是官方建议使用的 K8s 版本号,执行完成后单节点 K8s 集群即可投入使用。K8s 版本建议:小版本号越高集群越稳定。截至本文写作时,v1.29 最高版本号为 v1.29.9,v1.30 最高版本号为 v1.30.5,因此推荐使用 v1.29.9。
5.2 高可用集群(生产环境推荐)
在生产环境中,建议至少部署 3 个 master 节点以实现高可用。以下示例假设 3 个 master 和 1 个 worker,请根据实际 IP 地址进行替换:
sealos run \
--masters 10.206.0.10,10.206.0.17,10.206.0.11 \
--nodes 10.206.0.15 \
--ssh-passwd your-ssh-password \
labring/kubernetes:v1.29.9执行后,Sealos 自动完成以下工作:
- 检查各节点系统环境
- 分发集群镜像到所有节点
- 初始化第一个 master 节点
- 将其它 master 节点加入集群
- 将 worker 节点加入集群
- 配置高可用负载均衡(基于内核 IPVS)
集群安装成功后,sealos run 命令会保存一份 Clusterfile 到本地,便于后续追溯和重新应用。也可以先通过 sealos gen 命令生成 Clusterfile 配置文件,再使用 sealos apply 进行部署——这种方法更适合需要定制集群配置的场景,便于版本管理与团队协作。
5.3 关于集群镜像
Sealos 将 Kubernetes 及其依赖组件封装为集群镜像(Cluster Image),所有镜像均可在 Docker Hub labring 仓库 或阿里云镜像仓库(registry.cn-shanghai.aliyuncs.com/labring/kubernetes)查看。使用 Registry Explorer 等工具可以查询不同版本的 Kubernetes 集群镜像。除集群镜像外,Sealos 还提供 Helm、Cilium、Minio 等常用组件的独立镜像,可通过 sealos run 一条命令完成安装。
六、日常运维管理
6.1 增加节点
增加新的 worker 节点:
sealos add --nodes 192.168.0.4 --ssh-passwd your-ssh-password增加新的 master 节点:
sealos add --masters 192.168.0.5 --ssh-passwd your-ssh-password6.2 删除节点
删除 worker 节点:
sealos delete --nodes 192.168.0.4 --ssh-passwd your-ssh-password删除 master 节点:
sealos delete --masters 192.168.0.5 --ssh-passwd your-ssh-password6.3 清理整个集群
如果需要完全销毁集群并清理所有相关数据:
sealos reset七、安装分布式应用
Sealos 的优势不仅限于部署 K8s 集群,基于集群镜像机制,还可以一键安装各类分布式应用。例如安装 Minio(对象存储):
sealos run labring/minio:latestSealos 会自动处理所有依赖关系、镜像分发和配置管理,整个过程对用户透明。类似地,Prometheus、Cilium、Helm 等常见组件也都可以通过 Sealos 镜像一键部署。
八、常见问题与注意事项
Q1:国内环境安装失败怎么办?
建议使用阿里云镜像源进行安装。Sealos 官方已在阿里云上海地域维护了完整的镜像仓库(registry.cn-shanghai.aliyuncs.com/labring),部署 Kubernetes 所需的所有基础镜像均可通过该仓库获取,可完全规避 DockerHub 的访问限制问题。即在 sealos run 命令中指定阿里云镜像仓库地址即可。
Q2:节点 SSH 连接失败
- 确保所有节点的 SSH 服务正常运行(
systemctl status sshd) - 检查节点间网络连通性
- 确认 SSH 登录密码正确,或配置好密钥认证
Q3:主机名不规范导致安装失败
请确保各节点主机名唯一且不包含下划线。可使用 hostnamectl set-hostname 修改后重启节点。
Q4:时间不同步
建议在所有节点安装并配置 NTP 服务(如 chrony),确保节点时间差在合理范围内。
Q5:公有云环境如何安装?
在公有云安装时,--masters 和 --nodes 参数中应填写节点的私有 IP,而非公网 IP。同时需确保安全组已放通相关端口。
Q6:节点上是否预先安装了 Docker 或其他容器运行时?
Sealos 官方文档特别建议使用干净的操作系统安装集群,不要在节点上提前安装 Docker 或其他容器运行时,Sealos 会自动安装并配置合适的运行时(如 containerd),预先安装反而会导致脚本执行出错。
九、小结与总结
Sealos 最大的价值在于大幅降低了 Kubernetes 的使用门槛,它将原本复杂的集群部署过程压缩到一条命令之内,让开发者和运维人员能够把精力聚焦在核心业务上,而非陷入集群部署的繁琐细节中。
从社区反馈来看,Sealos 对国内用户尤其友好——无需翻墙、镜像源稳定、离线部署能力完备,5 分钟即可完成一套高可用 K8s 集群的搭建,无论是测试环境还是正式生产环境均可胜任。当然,任何工具都不是万能的,如果你的使用场景有非常特殊的需求(如严格的内网安全管控或超大规模集群编排),仍建议结合官方工具链制定更精细化的部署方案。
最后附上 Sealos 官方文档地址供进一步参考:Sealos K8s 部署文档。如果部署过程中遇到问题,也欢迎在评论区留言交流。希望本文能帮助你更高效地管理 Kubernetes 集群。