Sealos Docs

部署指南

用于快速完成 Sealos 私有云基础安装部署,涵盖环境要求、参数配置、GPU 设置、安装执行与访问验证。

服务器要求

  • 操作系统:Linux,推荐 CentOS 7+Ubuntu 20.04+,支持其它国产操作系统
  • 运行权限:仅支持 Linux,要求以 root 用户执行安装
  • 架构:支持 x86ARM
  • 内核版本:默认要求内核 >= 5.10
  • 兼容例外:RHEL / Rocky / Alma / CentOS / Oracle Linux 以及 Euler / openEuler 可放宽到 >= 4.18
  • 网络要求:所有节点之间网络互通
  • 域名要求:准备好访问域名,也可以使用测试域名或 nip.io
  • 磁盘分区:所有节点都要配置 /data 分区,建议使用 LVM,方便后期扩容
  • 时间配置:所有节点 hostname 不能重复,并提前配置好时区和 NTP
  • 容器环境:禁止预装 docker 或其他容器组件

最低资源

角色数量资源类型推荐规格说明
master + node1ECS16C32G系统盘 500G,数据盘 1T

推荐资源

角色数量资源类型推荐规格说明
master1ECS16C32G系统盘 500G,数据盘 1T
node3ECS32C128G系统盘 500G,数据盘 1T,PVC 数据盘 2T

三步快速部署

第 1 步:配置基础参数

编辑 install/v1/sealos.env 文件,配置以下必需参数:

  • 测试环境可以使用 nip.io 自动 DNS,例如 192.168.1.10.nip.io
  • 生产环境建议使用真实域名并提前配置 DNS 解析
  • 建议默认优先使用 SSH 密钥认证,不要依赖密码认证
# ========== 必需配置 ==========

# 访问域名(重要)
SEALOS_V2_CLOUD_DOMAIN="cloud.example.com"

# Master 节点 IP 和 SSH 端口
SEALOS_V2_MASTERS="192.168.1.10:22"

# SSH 私钥路径(推荐使用密钥认证)
SEALOS_V2_SSH_KEY="/root/.ssh/id_rsa"

# 网卡配置(根据实际网卡名称调整)
SEALOS_V2_CILIUM_INTERFACE="eth0"

# ========== 可选配置(通常默认值即可)==========

# Worker 节点(可选)
# SEALOS_V2_NODES="192.168.1.11:22,192.168.1.12:22"

# SSH 密码(不推荐,安全性较低)
# SEALOS_V2_SSH_PASSWORD="your-password"

# 存储配置(可选)
# SEALOS_V2_OPENEBS_STORAGE="/data/openebs"
# SEALOS_V2_OPENEBS_VGNAME=""

# 证书配置
# SEALOS_V2_ENABLE_ACME="false"
# SEALOS_V2_CERT_PATH=""
# SEALOS_V2_KEY_PATH=""

# 离线配置
# SEALOS_V2_NETWORK_OFFLINE="false"
# 离线节点 hostname 名称(默认写 master 的)
# SEALOS_V2_OFFLINE_NODE=""
# SEALOS_V2_USE_DNSMASQ="true"
# SEALOS_V2_USE_NTP="false"
# SEALOS_V2_NGINX_LOCATION="/data/nginx"

# Feature 开启,支持参数:GPU、在线 IDE、DevBox 导入代码、私有化模板商店
# SEALOS_V2_FEATURE="gpu,online_ide,import_ide,gitea_template"

第 2 步:配置 GPU

如果集群中包含 GPU 节点,或者你希望在控制台中显示更友好的 GPU 型号名称,可以编辑 etc/alias.yaml

gpuAlias:
  - name: NVIDIA-GeForce-RTX-3090
    value: RTX-3090

无 GPU 环境:

gpuAlias: []

alias.yaml 的作用

alias.yaml 用于配置资源别名映射,当前主要用于 GPU 设备名称的简化显示。

例如:

  • 系统识别名称:NVIDIA-GeForce-RTX-3090
  • 控制台显示别名:RTX-3090

如何获取 GPU 设备名称

你可以在节点上执行下面任一命令:

# 方法 1:使用 nvidia-smi
nvidia-smi --query-gpu=name --format=csv,noheader

# 方法 2:使用 lspci
lspci | grep -i nvidia

输出示例:

NVIDIA GeForce RTX 3090
NVIDIA A100-SXM4-80GB

配置规则

gpuAlias:
  - name: "完整设备名称"
    value: "显示别名"

常见配置示例

单一 GPU 型号:

gpuAlias:
  - name: NVIDIA-GeForce-RTX-3090
    value: RTX-3090

多种 GPU 型号:

gpuAlias:
  - name: NVIDIA-GeForce-RTX-3090
    value: RTX-3090
  - name: NVIDIA-GeForce-RTX-4090
    value: RTX-4090
  - name: NVIDIA-Tesla-V100-PCIE-16GB
    value: V100
  - name: NVIDIA-A100-SXM4-80GB
    value: A100-80G

注意事项

  • name 必须和系统识别到的 GPU 名称完全一致
  • GPU 名称区分大小写
  • 如果没有 GPU,或者不关心显示名称,可以保持默认或清空配置
  • 建议在安装前完成配置;如果安装后修改,通常需要重启相关组件

如何验证 GPU 别名是否生效

# 查看节点标签
kubectl get node -o jsonpath='{.items[0].metadata.labels}'

也可以直接在 Sealos Cloud 控制台查看 GPU 资源显示名称是否符合预期。

第 3 步:执行安装

完成配置后,依次执行:

bash stop-registry.sh
bash start-registry.sh
bash install.sh

安装过程会自动完成以下动作:

  1. 检查环境和依赖
  2. 安装 Kubernetes 集群
  3. 安装网络、存储、监控组件
  4. 安装数据库和应用平台
  5. 部署 Sealos Cloud 平台

预计耗时通常为 30-50 分钟,具体取决于网络环境和磁盘性能。

如何访问

终端内执行,获取登录地址、管理员账号及密码:

执行:

bash info.sh

输出示例:

Sealos Cloud URL: https://cloud.example.com
Admin Username: admin
Admin Password: xxxxxxxx

如果你需要重新获取管理员密码,也可以执行:

kubectl get secret admin-password -n sealos-system -o jsonpath='{.data.password}' | base64 -d

典型场景配置

场景 1:单机测试环境

sealos.env

SEALOS_V2_CLOUD_DOMAIN="192.168.1.10.nip.io"
SEALOS_V2_MASTERS="192.168.1.10:22"
SEALOS_V2_SSH_KEY="/root/.ssh/id_rsa"

etc/alias.yaml

gpuAlias: []

场景 2:生产环境高可用集群

sealos.env

SEALOS_V2_CLOUD_DOMAIN="cloud.company.com"
SEALOS_V2_MASTERS="192.168.1.10:22,192.168.1.11:22,192.168.1.12:22"
SEALOS_V2_NODES="192.168.1.20:22,192.168.1.21:22,192.168.1.22:22"
SEALOS_V2_SSH_KEY="/root/.ssh/id_rsa"
SEALOS_V2_VIP="192.168.1.100"

etc/alias.yaml

gpuAlias:
  - name: NVIDIA-GeForce-RTX-3090
    value: RTX-3090
  - name: NVIDIA-A100-SXM4-80GB
    value: A100-80G

场景 3:AI 训练集群(GPU)

sealos.env

SEALOS_V2_CLOUD_DOMAIN="ai-cluster.example.com"
SEALOS_V2_MASTERS="192.168.1.10:22"
SEALOS_V2_NODES="192.168.1.20:22,192.168.1.21:22,192.168.1.22:22"
SEALOS_V2_SSH_KEY="/root/.ssh/id_rsa"
SEALOS_V2_FEATURE="gpu"

etc/alias.yaml

gpuAlias:
  - name: NVIDIA-A100-SXM4-80GB
    value: A100-80G
  - name: NVIDIA-A100-SXM4-40GB
    value: A100-40G

最佳实践

生产环境建议

  • 使用真实域名并启用 ACME 自动证书
  • 配置高可用集群(3 Master + 多 Worker)
  • 使用独立磁盘存储 etcd 数据
  • 配置对象存储(S3 / OSS / COS)

安全性建议

  • 使用 SSH 密钥认证,避免密码认证
  • 定期备份 etcd 数据
  • 限制 API Server 访问来源
  • 启用网络策略

性能优化建议

  • 根据业务规模调整 SEALOS_V2_MAX_POD
  • 使用 SSD 存储 Containerd 和 Kubelet 数据
  • 配置 Cilium 原生路由模式提升网络性能
  • 合理规划 Pod 和 Service CIDR

如果你的交付包中还包含更细的配置参数手册或内部实施资料,建议在正式生产部署前一并对照确认。