Sealos 简介

Sealos 是一个基于 Kubernetes 的云操作系统发行版。它采用云原生的方式,抛弃传统的云计算架构,转向以 Kubernetes 为内核的新架构。

Sealos 秉承可以像 Linux 一样简单使用云的理念,在 Sealos 的架构中,公有云和私有云没有本质区别,都只需要安装云操作系统。

与 Sealer 类似,Sealos 可以打包整个 kubernetes 集群实现分布式应用的离线交付。本文将详细介绍通过 Sealos 在本地部署服务器上 kubernetes 集群的方法。

Sealos 下载、安装

# 下载最新版Sealos
#查询版本信息
VERSION=$(curl -s https://api.github.com/repos/labring/sealos/releases/latest | grep -oE '"tag_name": "[^"]+"' | head -n1 | cut -d'"' -f4)
wget https://github.com/labring/sealos/releases/download/${VERSION}/sealos_${VERSION#v}_linux_amd64.tar.gz
tar -zxvf sealos_*.tar.gz sealos && chmod +x sealos && sudo mv sealos /usr/bin

# 拉取K8s组件镜像
 sealos pull registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.31.0
sealos pull registry.cn-shanghai.aliyuncs.com/labring/cilium:v1.13.4  # CNI插件

生成离线包

sealos save -o kubernetes.tar registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.31.0
sealos save -o cilium.tar registry.cn-shanghai.aliyuncs.com/labring/cilium:v1.13.4

离线部署

传输文件到内网主机后执行:

# 导入镜像 sealos load -i kubernetes.tar sealos load -i cilium.tar # 安装集群 sealos run \ kubernetes.tar cilium.tar \ --masters 192.168.1.131 \ --nodes 192.168.1.132,192.168.1.133 \ -p root # 非root用户需提前配置SSH免密

验证部署

# 检查节点状态 kubectl get nodes # 测试Pod创建 kubectl run nginx --image=nginx:alpine kubectl get pods -o wide

关键配置说明

网络插件选择

插件类型 推荐版本 适用场景
Cilium v1.13.4 高性能网络,支持eBPF
Calico v3.26.1 传统网络,支持网络策略
Flannel v0.22.0 简单网络,资源占用低

切换Calico示例

sealos pull registry.cn-shanghai.aliyuncs.com/labring/calico:v3.26.1

存储配置

OpenEBS集成

sealos run registry.cn-shanghai.aliyuncs.com/labring/openebs:v1.12.0

管理界面部署

Kuboard安装(需额外Docker环境):

sudo docker run -d --restart=unless-stopped --name=kuboard -p 80:80/tcp \ -e KUBOARD_ENDPOINT="http://<主机IP>:80" \ swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v3

常见问题处理

镜像拉取失败

  • 检查网络代理设置
  • 更换镜像源(如使用registry.k8s.io替换为阿里云镜像)

节点无法加入集群

  • 确认/etc/hosts文件包含所有节点IP和主机名映射
  • 检查防火墙规则(开放6443、10250等端口)

离线环境依赖缺失

预装依赖包

# 离线环境安装示例 apt install ebtables socat iptables libjansson4 --download-only # 将下载的.deb包传输到离线环境后执行 dpkg -i *.deb apt -f install

总结

Sealos通过预集成所有K8s依赖组件,实现了真正意义上的离线一键部署。其核心价值在于:

  1. 简化部署流程:将原本需要数十个步骤的安装过程压缩为3个主要命令
  2. 降低技术门槛:无需深入了解K8s底层组件(如etcd、kube-proxy)的配置
  3. 提升可靠性:纯Golang实现避免Python/Shell脚本的兼容性问题
  4. 支持国产化:完美适配国产CPU和操作系统环境

对于政企内网环境,建议采用"镜像仓库+Sealos"的组合方案,通过定期更新离线包实现集群的无痛升级。未来可探索Sealos与Operator模式的结合,实现更复杂分布式应用的离线交付。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐