区域节点部署

Cloud Blox 支持多节点部署:一个主节点 + 多个区域节点,共享同一套数据库。本文介绍区域节点的定位、生成与安装方式。

前提条件

区域节点安装包由主节点生成,因此必须先完成主节点安装(见 安装教程),并确保主节点运行正常、MySQL / Redis / ClickHouse 可被区域节点机器访问。


一、主节点与区域节点的区别

主节点区域节点
数据库容器可 Docker 部署 MySQL/Redis/ClickHouse仅连接已有实例,不创建数据库容器
数据库迁移负责执行不执行
默认数据初始化负责执行不执行
定时任务运行全部定时任务仅运行区域任务(清理、副本备份等)

多节点部署时,只需一个主节点,其他机器选择区域节点。


二、由主节点生成区域安装包(推荐)

在已安装且运行正常的主节点上,可用同一套 install.sh 自动检测并生成区域节点安装包(安装/升级后安装目录内也会保留一份 install.sh):

Shell
# 方式一:在安装目录直接运行,选「3) 打包区域节点」cd /opt/cloud-bloxbash install.sh# 方式二:子命令(跳过升级菜单)bash install.sh region-pack# 或显式指定安装目录与输出目录bash install.sh region-pack --install-dir /opt/cloud-blox --output ./my-region-pack

脚本会自动检测:

  1. 安装目录是否为主节点(region.primary=true 或编排含 MySQL 服务)
  2. 是否存在 cloud-blox-server 与 public/
  3. 若能访问管理端 /api/public/edition,且 features.region 显式为 false,则拒绝生成;接口不可达时不拦截

生成产物包含:install.sh、install-package.tar.gz、可选 cloud-blox-runtime.tar、预填连接信息的 region.env,以及同名 .tar.gz 压缩包。

将压缩包拷到区域节点机器解压后执行:

Shell
bash install.sh --yes

脚本检测到同目录下的 region.env 后,会自动按区域节点模式安装并连接主节点数据库。

网络可达性

若主节点将 MySQL/Redis/ClickHouse 端口仅绑定 127.0.0.1,其他机器无法直连。生成前请将映射改为局域网可达,或通过 VPN / 内网转发;生成时会提示填写「主节点对区域节点可达的地址」(也可用环境变量 REGION_MAIN_HOST 预设)。


三、手动安装区域节点

  1. 在主节点先完成安装,确保 MySQL、Redis、ClickHouse 可被区域节点访问(如开放端口或使用内网地址)。
  2. 在区域节点机器上使用普通安装包运行安装脚本,选择部署类型 = 区域节点(或使用 NODE_TYPE=region)。
  3. 按提示输入主节点的 MySQL、Redis、ClickHouse 连接信息。
Shell
# 非交互模式快速部署区域节点NODE_TYPE=region bash install.sh --yes

生成的 config.yaml 中 region.primary 会自动设为 false。


四、安装后的区域配置

区域节点启动后,还需在主节点管理后台完成区域侧配置:

  • 区域管理(系统管理 → 存储管理 → 区域管理):维护区域的名称、Code、端点域名(S3 / 资源访问 / WebDAV)等,需与该节点的反向代理域名一致。
  • 服务端配置(区域管理 → 操作列「服务端配置」):可按区域生成并管理服务端配置(如 Nginx / Caddy 反向代理规则),同一区域的多台机器可直接复用生成结果,详见 Nginx 反向代理。
  • 区域节点统计:管理后台「统计报表」提供区域节点板块,可查看各区域的通道数、容量与流量概览。

五、常见问题

  • 区域节点连不上 Redis/ClickHouse:主节点若未映射端口,或映射仅绑 127.0.0.1,其他机器无法访问;需映射为局域网可达地址并放行防火墙。
  • 区域节点是否执行迁移:不执行。数据库迁移与默认数据初始化仅由主节点负责,升级时先升级主节点。
  • 区域节点反向代理:区域节点同样需要按域名分发 S3 / 资源访问 / WebDAV 端口,规则与主节点一致,见 Nginx 反向代理。