通过阿里云相关产品快速部署Rainbond,主要使用阿里云ECS和NAS,弹性IP,NAT网关,负载均衡SLB可以选用。
我们在阿里云有大量生产实践经验,如下配置为推荐配置,建议参考
操作系统推荐,经过我们线上验证推荐
操作系统 | 版本 |
---|---|
CentOS | 7.4(推荐) |
Debian | 9.6 |
Ubuntu | 16.04 |
单台服务器最低配置要求
服务器角色 | CPU | 内存 |
---|---|---|
管理节点 | 4核 | 8G |
计算节点 | 16核 | 64G |
单台服务器磁盘配置
管理节点:
/ 100G
/cache 50G-100G #源码构建cache
/opt/rainbond/data 100G #etcd,数据库等相关数据持久化目录 (推荐使用SSD)
/var/lib/docker 100G+ (至少100G起)
计算节点:
/ 100G
/var/lib/docker 100G+ /var/lib/docker
磁盘推荐都使用SSD云盘
# /etc/fstab 管理节点
UUID=<uuid> /var/lib/docker ext4 defaults,noatime 0 0
UUID=<uuid> /opt/rainbond/data ext4 defaults,noatime 0 0
# /etc/fstab 计算节点
UUID=<uuid> /var/lib/docker ext4 defaults,noatime 0 0
NAS选型
NAS默认选择 SSD性能型
即可,满足Rainbond使用。也可以根据需求选用NASPlus等产品
网络选项
专有网络,确保管理节点和计算节点,NAS在同一地域,且所有节点可以互相通信.可以考虑使用NAT网关.
负载均衡SLB
http,https应用推荐使用,即SLB对接后端管理节点80,443端口
安全方面限制
如果需要公网访问,安全组需要对外放行80,6060,7070端口,以及ssh端口,内部网络不限制。
更多关于软硬件要求请参考 软件和硬件环境要求
在阿里云同一个区域内开通ECS,NAS服务, 服务器内部网络未限制。
根据需求具体规划节点数目。
管理节点:主要运行k8s组件和rainbond相关组件,推荐1或3节点,奇数节点;
计算节点:主要运行应用节点,不作限制,在计算资源不足时可以方便扩容;
网关节点:默认情况下是和管理节点复用,要求弹性ip需要绑定到网关节点所在机器,必要时可单独部署rbd-gateway服务。
在第一个管理节点执行初始化数据中心命令
# 建议使用root执行安装操作
wget https://pkg.rainbond.com/releases/common/v5.1/grctl
chmod +x ./grctl
## 第一个节点管理节点和计算节点复用
./grctl init --iip <内网ip> --eip <弹性ip/所在公网ip/slb ip> --role master,compute --storage nas --storage-args "goodrain-rainbond.cn-huhehaote.nas.aliyuncs.com:/ /grdata nfs vers=3,nolock,noatime 0 0"
## 第一个节点仅作为管理节点
./grctl init --iip <内网ip> --eip <弹性ip/lb所在公网ip/slb ip> --role master --storage nas --storage-args "goodrain-rainbond.cn-huhehaote.nas.aliyuncs.com:/ /grdata nfs vers=3,nolock,noatime 0 0"
# 添加管理节点
grctl node add --host <managexx> --iip <管理节点内网ip> -p <root密码> --role master
## 法2默认已经配置ssh信任登陆
grctl node add --host <managexx> --iip <管理节点内网ip> --key /root/.ssh/id_rsa.pub --role master
# 添加计算节点
grctl node add --host <computexx> --iip <计算节点内网ip> -p <root密码> --role compute
## 法2默认已经配置ssh信任登陆
grctl node add --host <computexx> --iip <计算节点内网ip> --key /root/.ssh/id_rsa.pub --role compute
# 安装节点,节点uid可以通过grctl node list获取
grctl node install <新增节点uid>
# 确定计算节点处于非unhealth状态下,可以上线节点
grctl node up <新增节点uid>
节点安装日志在/grdata/downloads/log/目录下
安装完成后,在当前节点执行:
grctl cluster
如果有节点处于unhealth,通过grctl node get <unhealth节点uid>
确定哪个服务异常,来排查哪个服务异常。
slb健康检查配置如下,其他默认即可
- 检查端口为:10254
- 检查路径为:/healthz
- 健康状态返回码: http_2xx
目前阿里云slb负载均衡仅支持单一端口,故tcp/udp协议应用使用负载均衡操作比较麻烦。tcp协议应用不推荐使用slb,可以通过修改rbd-db的console.region_info表的tcpdomain值为rbd-gateway所在节点的公网ip或者其他自建负载均衡的ip地址。
slb健康检查配置如下,其他默认即可
- 检查端口为:10254
- 检查路径为:/healthz
- 健康状态返回码: http_2xx
需要调整域名解析,将默认域名解析由eip改为slb的ip,grctl domain --ip <slb的ip>
安装完成,开启Rainbond云端之旅