一、部署说明

通过阿里云相关产品快速部署Rainbond,主要使用阿里云ECS和NAS,弹性IP,NAT网关可以选用。

机器资源准备

我们在阿里云有大量生产实践经验,如下配置为推荐配置,建议参考

操作系统推荐,经过我们验证推荐
操作系统 版本
CentOS 7.4
Debian 9.6
Ubuntu 16.04
单台服务器配置要求
服务器角色 CPU 内存
管理节点 8核 32G
计算节点 16核 64G
单台服务器磁盘配置
  1. 管理节点:
  2. / 100G
  3. /cache 50G-100G #源码构建cache
  4. /opt/rainbond/data 100G #etcd,数据库等相关数据持久化目录
  5. /var/lib/docker 100G+ (至少100G起)
  6. 计算节点:
  7. / 100G
  8. /var/lib/docker 100G+ /var/lib/docker

磁盘推荐使用SSD云盘,根分区可以考虑高效云盘。

NAS选型

NAS默认选择 SSD性能型即可,推荐,满足Rainbond使用。也可以根据需求选用NASPlus等产品

网络选项

专有网络,确保管理节点和计算节点,NAS在同一地域,且所有节点在同一个ip段下.可以考虑NAT网关.

安全方面限制

如果需要公网访问,安全组需要对外放行80,6060,7070端口,以及ssh端口,内部网络不限制。

二、 部署流程

在阿里云同一个区域内开通ECS,NAS服务, 服务器内部网络未限制。

创建ECS 参考ECS入门创建NAS 参考NAS

2.1 节点规划

根据需求具体规划节点数目。管理节点:主要运行k8s组件和rainbond相关组件,推荐1或3节点,奇数节点;计算节点:主要运行应用节点,不作限制,在计算资源不足时可以方便扩容;网关节点:默认情况下是和管理节点复用,要求弹性ip需要绑定到网关节点所在机器,必要时可单独部署rbd-gateway服务。

2.2 配置NAS

注意:

阿里云推荐使用NAS,经过我们大量的生产测试环境使用,挂载NAS需要使用v3版本,切勿使用v4版本,否则会存在文件锁问题。

要在 Linux 系统中将 NAS 的 NFS 文件系统挂载至 ECS 实例,您需要安装 NFS 客户端,目前所有节点都需要提前挂载好NAS。操作步骤:

  1. # 登陆ECS实例
  2. # 安装NFS客户端
  3. ## CentOS系统
  4. sudo yum install nfs-utils
  5. ## Debian/Ubuntu系统
  6. sudo apt-get install nfs-common
  7. ## 创建NAS挂载点
  8. mkdir /grdata
  9. ## 更新/etc/fstab示例,挂载点域名需要替换成在创建文件系统时自动生成的挂载点域名
  10. rainbond-test.cn-shanghai.nas.aliyuncs.com:/ /grdata nfs vers=3,nolock,noatime 0 0
  11. ## 挂载
  12. mount -a
  13. # 查看挂载信息
  14. mount -l | grep grdata

2.3 初始化数据中心

在第一个管理节点执行初始化数据中心命令,默认情况下第一个节点管理节点和计算节点复用

  1. wget https://pkg.rainbond.com/releases/common/v5.0/grctl
  2. chmod +x ./grctl
  3. ./grctl init --iip <内网ip> --eip <弹性ip/lb所在公网ip>

2.4 添加节点

  1. # 添加管理节点
  2. grctl node add --host <managexx> --iip <管理节点内网ip> -p <root密码> --role master
  3. ## 法2默认已经配置ssh信任登陆
  4. grctl node add --host <managexx> --iip <管理节点内网ip> --key /root/.ssh/id_rsa.pub --role master
  5. # 添加计算节点
  6. grctl node add --host <computexx> --iip <计算节点内网ip> -p <root密码> --role worker
  7. ## 法2默认已经配置ssh信任登陆
  8. grctl node add --host <computexx> --iip <计算节点内网ip> --key /root/.ssh/id_rsa.pub --role worker
  9. # 安装节点,节点uid可以通过grctl node list获取
  10. grctl node install <新增节点uid>
  11. # 确定计算节点处于非unhealth状态下,可以上线节点
  12. grctl node up <新增节点uid>

节点安装日志在/grdata/downloads/log/目录下

2.5 确定集群状态

安装完成后,在当前节点执行:

  1. grctl cluster

如果有节点处于unhealth,通过grctl node get <unhealth节点uid>确定哪个服务异常,来排查哪个服务异常。

原文: https://www.rainbond.com/docs/stable/operation-manual/install/alicloud/install-base-alicloud.html