一、简介
从本质上讲,Sealos 是一个基于 Kubernetes 的轻量级云操作系统。它作为一个综合性平台,封装了现代应用部署和管理所需的核心组件。与需要大量配置和专业知识的传统 Kubernetes 发行版不同,Sealos 专为需要强大基础设施能力但无需面对相关复杂性的开发者和团队而构建。
Sealos 提供了一个统一的界面,用于在各种云环境中部署、扩展和管理应用程序。其架构强调简洁性和自动化,使开发者能够专注于构建功能,而非配置基础设施。
官方网址:https://sealos.run/

简单一句话总结:使用传统方式部署k8s集群,需要非常复杂的配置。Sealos 消除了手动集群配置的需求,简单一条命令即可完成部署。例如:
部署单节点
sealos run \
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/kubernetes:v1.33.6 \
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/helm:v3.17.1 \
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/calico:v3.28.1 \
--single
接下来,详细介绍,如何部署Sealos
二、环境信息
操作系统:openEuler 22.03 LTS SP4 / 24.03 LTS
架构:x86_64 (amd64)
节点 IP:192.168.52.129
节点角色:Master + Worker(单节点)
Kubernetes 版本:v1.33.6
容器运行时:Containerd(默认)
三、基础环境配置(所有节点执行)
注意:不要预装 Docker:Sealos 会自动安装 Containerd,预装 Docker 可能导致冲突
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
# 关闭 SELinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
# 关闭 Swap
swapoff -a
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
# 配置主机名
hostnamectl set-hostname k8s-master
bash
# 配置 hosts(根据实际 IP 修改)
cat >> /etc/hosts << EOF
192.168.52.129 k8s-master
EOF
# 加载内核模块
cat > /etc/modules-load.d/k8s-modules.conf <<EOF
overlay
br_netfilter
ip_vs
ip_vs_rr
ip_vs_wrr
ip_vs_sh
nf_conntrack
EOF
modprobe overlay
modprobe br_netfilter
modprobe ip_vs
modprobe ip_vs_rr
modprobe ip_vs_wrr
modprobe ip_vs_sh
modprobe nf_conntrack
# 配置 sysctl 参数
cat <<EOF > /etc/sysctl.d/99-kubernetes.conf
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
EOF
sysctl --system
# 安装依赖
yum install -y curl socat conntrack openssl ipset ipvsadm chrony tar
# 时间同步
systemctl enable --now chronyd
chronyc sources
四、安装 Sealos 工具
# 下载 Sealos v5.1.1(推荐稳定版)
wget https://github.com/labring/sealos/releases/download/v5.1.1/sealos_5.1.1_linux_amd64.tar.gz
# 解压并安装
tar -zxvf sealos_5.1.1_linux_amd64.tar.gz
chmod +x sealos
mv sealos /usr/local/bin/
# 验证安装
sealos version
五、单节点部署 Kubernetes
方式一:在线安装(推荐,最简单)
# 使用 --single 参数一键安装单节点集群
sealos run \
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/kubernetes:v1.33.6 \
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/helm:v3.17.1 \
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/calico:v3.28.1 \
--single
参数说明:
- --single:单节点模式,自动配置单 Master 并允许调度
安装完成后,输出如下:
LAST DEPLOYED: Tue Feb 24 17:32:11 2026
NAMESPACE: tigera-operator
STATUS: deployed
REVISION: 1
TEST SUITE: None
2026-02-24T17:32:12 info succeeded in creating a new cluster, enjoy it!
2026-02-24T17:32:12 info
___ ___ ___ ___ ___ ___
/\ \ /\ \ /\ \ /\__\ /\ \ /\ \
/::\ \ /::\ \ /::\ \ /:/ / /::\ \ /::\ \
/:/\ \ \ /:/\:\ \ /:/\:\ \ /:/ / /:/\:\ \ /:/\ \ \
_\:\~\ \ \ /::\~\:\ \ /::\~\:\ \ /:/ / /:/ \:\ \ _\:\~\ \ \
/\ \:\ \ \__\ /:/\:\ \:\__\ /:/\:\ \:\__\ /:/__/ /:/__/ \:\__\ /\ \:\ \ \__\
\:\ \:\ \/__/ \:\~\:\ \/__/ \/__\:\/:/ / \:\ \ \:\ \ /:/ / \:\ \:\ \/__/
\:\ \:\__\ \:\ \:\__\ \::/ / \:\ \ \:\ /:/ / \:\ \:\__\
\:\/:/ / \:\ \/__/ /:/ / \:\ \ \:\/:/ / \:\/:/ /
\::/ / \:\__\ /:/ / \:\__\ \::/ / \::/ /
\/__/ \/__/ \/__/ \/__/ \/__/ \/__/
Website: https://sealos.io/
Address: github.com/labring/sealos
Version: 5.1.1-1e312ad2c
Sealos安装完成后,会自动开机自动,不需要额外设置。
查看证书有效期
kubeadm certs check-expiration
输出如下,默认是99年
CERTIFICATE AUTHORITY EXPIRES RESIDUAL TIME EXTERNALLY MANAGED
ca Jan 31, 2126 09:31 UTC 99y no
etcd-ca Jan 31, 2126 09:31 UTC 99y no
front-proxy-ca Jan 31, 2126 09:31 UTC 99y no
六、添加镜像仓库代理
注意:默认下载镜像可能会失败,因此需要配置镜像仓库代理
# 创建 docker.io 镜像源配置目录
mkdir -p /etc/containerd/certs.d/docker.io
# 添加国内镜像代理配置hosts.toml
cat > /etc/containerd/certs.d/docker.io/hosts.toml << 'EOF'
server = "https://docker.io"
[host."https://docker.1ms.run"]
capabilities = ["pull", "resolve"]
[host."https://docker.xuanyuan.me"]
capabilities = ["pull", "resolve"]
[host."https://docker.m.daocloud.io"]
capabilities = ["pull", "resolve"]
EOF
# 重启 containerd
systemctl restart containerd
# 检查配置是否生效
crictl info | grep -A 10 "registry"
测试下载nginx镜像,等待5分钟左右
crictl pull nginx:latest
如果卡住了,Ctrl+C关闭,再次执行,输出如下:
# crictl pull nginx
Image is up to date for sha256:5cdef4ac3335f68428701c14c5f12992f5e3669ce8ab7309257d263eb7a856b1
有输出sha256就说明下载成功了
七、验证安装
# 1. 查看节点状态(单节点应显示为 Ready)
kubectl get nodes -o wide
# 2. 查看系统 Pod 状态
kubectl get pods -A
# 3. 查看集群信息
kubectl cluster-info
# 4. 查看 sealos 镜像列表
sealos images
八、部署 Nginx 应用测试
# 1. 创建 Nginx 部署
kubectl create deployment nginx --image=nginx:latest --replicas=1
# 2. 暴露服务(NodePort 方式)
kubectl expose deployment nginx --port=80 --type=NodePort
# 3. 查看服务
kubectl get svc nginx
查看pod,确保是Running状态
# kubectl get pods
NAME READY STATUS RESTARTS AGE
nginx-56fcf95486-8f4d2 1/1 Running 0 21s
测试访问(使用 NodePort 端口)
curl http://192.168.52.129:$(kubectl get svc nginx -o jsonpath='{.spec.ports[0].nodePort}')
输出如下:
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
安装过程,到此结束了!
下面介绍了一些扩展知识
九、常用运维命令
# 查看 sealos 版本
sealos version
# 查看集群镜像
sealos images
# 保存集群镜像(用于离线迁移)
sealos save -o kubernetes.tar swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/kubernetes:v1.33.6
# 加载镜像
sealos load -i kubernetes.tar
# 添加节点(后续扩容)
sealos add --nodes 192.168.52.12
# 删除节点
sealos delete --nodes 192.168.52.12
# 重置集群(清理所有资源)
sealos reset
# 查看日志
journalctl -u kubelet -f
十、离线安装方案
如果需要在离线环境部署,提前在联网机器上准备:
# 1. 联网机器下载镜像
sealos pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/kubernetes:v1.33.6
sealos pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/helm:v3.17.1
sealos pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/calico:v3.28.1
# 2. 保存为 tar 包
sealos save -o kubernetes.tar swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/kubernetes:v1.33.6
sealos save -o helm.tar swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/helm:v3.17.1
sealos save -o calico.tar swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/calico:v3.28.1
# 3. 复制到离线节点后加载
sealos load -i kubernetes.tar
sealos load -i helm.tar
sealos load -i calico.tar
# 4. 离线安装
sealos run \
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/kubernetes:v1.33.6 \
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/helm:v3.17.1 \
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/calico:v3.28.1 \
--single
注意事项
- 1.不要预装 Docker:Sealos 会自动安装 Containerd,预装 Docker 可能导致冲突
- 2.主机名规范:不要带下划线,建议使用 k8s-master 格式
- 3.内存要求:Master 节点至少 2GB 内存,建议 4GB 以上,否则可能出现 [ERROR Mem]: the system RAM (1427 MB) is less than the minimum 1700 MB
- 4.openEuler 特定:确保安装 socat 包,否则安装过程中会有警告 [WARNING FileExisting-socat]
- 5.Helm 必须在网络插件之前:labring/helm 应当在 labring/calico 之前运行
- 6.版本选择:建议使用 v1.29.9 或 v1.28.x 等较稳定版本,小版本号越高越稳定