1. 概述编辑
1.1 版本
运维平台版本 | 功能变更 |
---|---|
V1.5.5 | - |
V1.5.6 | 部署过程中,不再安装冗余组件promtail、rocketmq_namesrv、rocketmq_broker |
V1.6 | 1)为了确保集群日志存储的稳定性: 容器化部署集群项目时,elasticsearch套件不再可选安装,而是必须安装 安装elasticsearch时,同步在每一个工程节点安装filebeat组件 2)部署项目时,工程外挂目录新增help文件夹 |
1.2 应用场景
运维平台支持部署并直接接入全新FineReport、FineBI、FineDataLink应用。
本文将介绍,如何通过 运维平台 ,容器化部署全新的FineReport集群项目(本文示例三节点集群)。
注:请在容器化部署前,先部署好FineOps运维平台。安装步骤请参见:部署运维平台 。
2. 准备服务器编辑
2.1 确认需要安装的组件
通过运维平台容器化部署的FineReport集群项目,不仅仅包括FineReport工程,还包括配套的外接配置库、集群组件、运维组件等等。
请先确认好需要安装的组件。本文按照安装全部组件来进行示例讲解。
服务器 | 组件 | 是否安装 | 组件说明 |
---|---|---|---|
主应用服务器 | FineReport | 必须安装 | 作用:FineReport的工程节点组件,其中不带任何的demo数据 说明:必须安装 |
ops_agent | 必须安装 | 作用:为服务器物理节点配套安装,用于管理组件,容器化升级也是由该组件完成 说明:FineReport项目涉及的每个服务器都会安装一个ops_agent | |
node_exporter | 必须安装 | 作用:服务器物理节点的exporter,收集物理服务器的各种指标信息 说明:每一个主应用服务器,都会自动安装一个node_exporter组件 | |
filebeat | 必须安装 | 作用:日志采集 说明:与elasticSearch组件配套安装,在每个FineReport工程节点所在服务器安装filebeat组件 | |
组件服务器 | elasticsearch | 必须安装 | 作用:日志存储 说明:替换FineReport中原有的swift作为日志存储 对项目中FineReport、外接数据库、业务库和其他集群组件的请求进行采集 集群必须安装该组件,且请勿暂停该组件,否则会导致项目操作日志丢失 |
elasticsearch_exporter | 必须安装 | 作用:elasticSearch的exporter,收集elasticSearch的指标 说明:与elasticSearch组件配套安装 | |
nginx | 必须安装 | 作用:提供集群的负载转发服务 说明:集群其他组件服务的入口、使用,都从这个入口访问 | |
nginx_exporter | 必须安装 | 作用:nginx服务的exporter,收集nginx的指标信息 说明:与nginx组件配套安装 | |
mysql | 可选安装 | 作用:作为集群的外接配置库 说明:可选安装 如果安装该组件,会安装一个MySQL5数据库,作为集群的外接配置库 如不安装该组件,用户必须自行准备好一个外接配置库,否则无法部署 | |
mysqld_exporter | 可选安装 | 作用:MySQL服务的exporter,收集MySQL的各种指标信息 说明:与MySQL组件配套安装 | |
redis | 可选安装 | 作用:作为集群的状态服务器 说明:可选安装 如果安装该组件,会安装一个单机redis,作为集群的状态服务器 如不安装该组件,用户必须自行准备好一个redis组件,否则无法部署 | |
redis_exporter | 可选安装 | 作用:redis服务的exporter,收集redis的各种指标信息 说明:与redis组件配套安装 | |
minio | 可选安装 | 作用:作为集群的文件服务器 说明:可选安装 如果安装该组件,会安装一个minio,它是一款高性能、分布式的对象存储系统,作为集群的文件服务器 如不安装该组件,用户必须自行准备好一个FineReport支持的文件服务器,否则无法部署 | |
ops_agent | 必须安装 | 作用:为服务器物理节点配套安装,用于管理组件,容器化升级也是由该组件完成 说明:FineReport项目涉及的每个服务器都会安装一个ops_agent | |
node_exporter | 必须安装 | 作用:服务器物理节点的exporter,收集物理服务器的各种指标信息 说明:每一个组件服务器,都会自动安装一个node_exporter组件 |
2.2 服务器数量要求
本文按照 4 个服务器进行下文的部署操作,分为主应用服务器ABC、组件服务器D。
请准备好服务器的内网IP、用户名、密码。
注:FineOps运维平台,和FineReport项目,不要部署在同一服务器下。
如果FineOps和项目处于同一环境下,当项目服务器发生异常时,FineOps可能也出现故障,从而无法起到运维的作用。
类型 | 要求 |
---|---|
推荐配置 | 建议按照「节点数量+1」准备服务器数量,这些服务器中不再安装其他工程/产品 1)每个工程节点独占一个服务器:
2)其他组件独占一个服务器:即组件服务器
|
高可用配置 | 建议按照「节点数量+5」准备服务器数量,这些服务器中不再安装其他工程/产品 1)每个工程节点独占一个服务器,作为主应用服务器 2)redis、nginx、mysql、minio、es组件各自独占一个服务器,作为组件服务器 |
2.3 服务器网络要求
请确保FineReport项目涉及的主应用服务器ABC、组件服务器D,以及FineOps运维平台所在的服务器E:
这些服务器内网互相联通,如不联通则无法成功部署。
注:如自行准备了外接配置库、状态服务器、文件服务器。
他们所在的服务器F、G、H,也需要和 ABCDE 服务器内网互通。
2.4 服务器系统配置
请确保FineReport项目涉及的主应用服务器ABC、组件服务器B,满足此基础配置。
注意,下表的配置要求是针对每个服务器,而不是所有服务器的配置总和。
服务器 | 配置 | 要求 |
---|---|---|
主应用服务器 | 系统版本 | CentOS 7.3~7.9 版本 Ubuntu 18.04.4 及以上版本,且不支持 Ubuntu 22 版本 redhat 7.6 及以上版本 |
系统内核 | 3.10及以上 最低8核 | |
CPU架构 | 仅支持 X86_64 | |
剩余空闲物理内存 | 16G以上 | |
剩余空闲磁盘容量 | 50GB以上 | |
组件服务器 | 系统版本 | CentOS 7.3~7.9 版本 Ubuntu 18.04.4 及以上版本,且不支持 Ubuntu 22 版本 redhat 7.6 及以上版本 |
系统内核 | 3.10及以上 最低4核 | |
CPU架构 | 仅支持 X86_64 | |
剩余空闲物理内存 | 8G以上 | |
剩余空闲磁盘容量 | 50GB以上 |
注:服务器之所以要满足上表所说的内存和磁盘,是由于FineReport项目中的各个组件有最低安装配置要求。
点击展开更多 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
2.5 服务器端口要求
请确保FineReport项目涉及的主应用服务器ABC、组件服务器D中,待部署应用和组件的默认端口可用。
请确认默认的映射端口是否已被使用,如已被使用,请安排好其他空闲端口。
nginx的映射端口将作为项目访问端口,因此请确认准备使用的nginx映射端口是否开放了防火墙、安全组等,确保可连接。
注1:端口占用和防火墙开放操作方法可参考:端口占用检查与防火墙配置 。
注2:端口portMapping为{映射端口:容器内端口} ,其中映射端口可改,容器内端口不支持修改。
注3:如果准备了多个组件服务器,组件会随机分布部署在各个服务器下。因此请确保每一个组件服务器都满足各个组件的端口要求。
服务器 | 组件 | 默认端口 |
---|---|---|
主应用服务器 | FineReport | 端口:{8080: 8080, 7800: 7800, 7830: 7830, 7840: 7840, 7850: 7850, 7870: 7870} |
ops_agent | 端口:{9070:9070} | |
node_exporter | 端口:{9100:9100} | |
filebeat | 不占用端口 | |
组件服务器 | elasticsearch | 端口:{9200:9200} 用户名:elastic(不支持修改) 密码:elasticadmin(支持修改) |
elasticsearch_exporter | 端口:{9114:9114} | |
nginx | root用户:{80: 8080} 非root用户:{8090: 8080} | |
nginx_exporter | 端口:{9113: 9113} | |
mysql | 端口:{3306:3306} 用户名:root(不支持修改) 密码:随机生成,届时请务必修改 | |
mysqld_exporter | 端口:{9104:9104} | |
redis | 端口:{6379:6379} 用户名:admin(不支持修改) 密码:随机生成,届时请务必修改 | |
redis_exporter | 端口:{9121:9121} | |
minio | 服务器端口:{9000:9000} 控制台端口:{9001:9001} 用户名:minioadmin(不支持修改) 密码:minioadmin(支持修改,但密码必须大于等于8位,否则使用默认密码) | |
ops_agent | 端口:{9070:9070} | |
node_exporter | 端口:{9100:9100} |
2.6 设置项目挂载目录
容器化部署的FineReport项目,重要文件均外挂。请提前在主应用服务器ABC和组件服务器D的空闲磁盘下,新建好挂载目录。
1)查看服务器磁盘空间
命令:df -h,找出可用空间较大的挂载点
例如本示例中,服务器最合适的挂载目录为/home目录下
2)新建文件夹
使用 mkdir 命令创建文件夹(本示例在/home目录下创建一个名叫fanruan的文件夹):mkdir /home/fanruan
使用 chmod 命令设置文件夹的权限(本示例直接赋777权限):chmod 777 /home/fanruan
注:FineReport集群项目部署成功后,文件服务器和项目挂载目录中的fr文件夹中,分别存放着工程外挂内容,其中的文件夹和存放内容如下表所示。
点击展开更多 | |||||||||||||||||||||||||||||||||||||
|
3. 确认镜像仓库编辑
部署新项目中的各个组件,是需要通过镜像进行部署的。要么镜像仓库已有镜像,要么支持从云端拉取镜像。
1)管理员登录运维平台,点击「运维管理>镜像管理」,查看是否存在相关镜像。
必须安装:FineReport、node_exporter、ops_agent、nginx、nginx_exporter、elasticsearch、elasticsearch_exporter、filebeat
可选安装:mysql、mysqld_exporter、redis、redis_exporter、minio
2)如镜像仓库中不存在相关镜像,请查看镜像仓库地址,并确保地址可连通外网云端仓库。
查看镜像仓库地址:管理员登录运维平台,点击「运维管理>镜像管理>全局配置」,即可查看镜像仓库地址。
确保镜像仓库所在服务器支持访问以下外网地址:域名:registry.cn-hangzhou.aliyuncs.com,端口:443
即可在部署项目时自动从云端拉取最新项目组件镜像。
4. 部署新FineReport集群项目编辑
本节正式进入部署FineReport集群项目的操作环节。请在开始部署前务必确认上文的所有内容,否则可能会部署失败!
4.1 新增项目
管理员登录 FineOps 运维平台,点击「运维管理>项目管理」,点击「新增项目>部署新项目」,如下图所示:
4.2 项目设置
项目设置是配置项目的类型、需要安装的组件、占用的端口等信息。
进入「项目设置」界面,输入相关项目信息,点击「下一步」,如下图所示:
各配置项如下表所示:
信息 | 说明 |
---|---|
项目名称 | 自定义项目的名称 项目名称不允许为空 项目名称仅支持小写字母、数字 项目名称长度最大为12位 项目名称不允许与已有项目重名 |
应用类型 | 选择「FineReport」 |
项目类型 | 选择「集群」 |
需要部署的套件 | 集群包括多种组件: 1)运维基础套件(必须安装,包括工程节点): FineReport、node_exporter、ops_agent 2)Nginx(必须安装,负载均衡,作为项目唯一入口): nginx、nginx_exporter 3)ElasticSearch(必须安装,作为日志采集和存储): elasticsearch、elasticsearch_exporter、filebeat 4)MySQL(可选择安装): mysql、mysqld_exporter 如不安装该组件,用户必须自行填写外接数据库信息,否则无法部署 5)Redis(可选择安装): redis、redis_exporter 如不安装该组件,用户必须自行填写状态服务器信息,否则无法部署 6)MinIO(可选择安装,作为文件服务器): minio 如不安装该组件,用户必须自行填写文件服务器信息,否则无法部署 |
部署配置 | 支持两种: 1)使用默认配置 2)自定义端口、组件用户名密码,即对2.5节的默认端口、密码进行调整 请务必修改并记住MySQL、Redis、minio、elasticsearch组件的密码,该密码默认随机生成。 |
访问路径 | 说明: 应用的访问链接为{域名/IP}/{访问路径}/decision 支持用户自定义应用的访问路径,访问路径默认为webroot 举例: 一般应用访问链接为http://IP:端口/webroot/decision 修改访问路径为demo 则部署好的应用访问链接为http://IP:端口/demo/decision |
4.3 节点配置-新增主应用节点
配置完需要的组件和端口后,即可进入「节点配置」。
首先需要新增主应用节点,即为添加主应用服务器ABC的相关信息(也就是本章操作需要反复执行多次)。
1)点击「新增节点」,选择节点类型为「主应用」,填写相关设置项,点击「完成」。
具体节点设置如下图所示:
节点设置 | 说明 |
---|---|
节点类型 | 请选择「主应用」 主应用节点要求最低配置8核16G、磁盘剩余50GB以上 注:帆软项目需要独占服务器,即该主应用服务器上不建议部署其他工程或内容,包括运维平台 |
主机 | 请输入节点主机IP(内网IP) 注:同一项目中,主机不支持重复添加多次 |
端口 | 请输入节点端口号,默认为22 |
用户名 | 请输入有sudo权限的服务器用户名 |
验证方法 | 支持两种:密码、公钥 |
挂载路径 | 请输入节点安装目录的服务器路径,即2.6节设置的目录 默认为~/data,~代表所使用的服务器用户的主目录 注:可在终端使用该用户账号访问服务器,输入echo $HOME命令查看该用户的主目录路径 |
若主机用户名等信息校验成功,即可添加一个主应用节点。三个节点均添加完成后,如下图所示:
注1:若网络环境不满足2.3节要求,节点连接失败,则出现报错提醒,无法正确新增节点。
注2:若服务器配置不符合2.4节最低要求,则出现报错提醒,无法正确新增节点。
4.4 节点配置-新增组件节点
接着要新增组件节点,即为添加组件服务器D的相关信息。
1)点击「新增节点」,选择节点类型为「组件」,填写相关设置项,点击「完成」。
具体节点设置如下图所示:
节点设置 | 说明 |
---|---|
节点类型 | 请选择「组件」 主应用节点要求最低配置4核8G、磁盘剩余50GB以上 注1:如配置了多个组件节点,则组件随机部署在各个节点 注2:帆软项目需要独占服务器,即该组件服务器上不建议部署其他工程或内容,包括运维平台 |
主机 | 请输入节点主机IP(内网IP) 注:同一项目中,主机不支持重复添加多次 |
端口 | 请输入节点端口号,默认为22 |
用户名 | 请输入有sudo权限的服务器用户名 |
验证方法 | 支持两种:密码、公钥 |
挂载路径 | 请输入节点安装目录的服务器路径,即2.6节设置的目录 默认为~/data,~代表所使用的服务器用户的主目录 注:可在终端使用该用户账号访问服务器,输入echo $HOME命令查看该用户的主目录路径 |
2)效果预览
若主机用户名等信息校验成功,即可添加一个组件节点。如下图所示:
注1:若网络环境不满足2.3节要求,节点连接失败,则出现报错提醒,无法正确新增节点。
注2:若服务器配置不符合2.4节最低要求,则出现报错提醒,无法正确新增节点。
4.5 开始部署
节点配置完成后,点击「开始部署」,进入部署过程。
弹窗中会显示各个组件的部署情况,若部署失败则显示失败原因。
通过运维平台成功部署的新项目,自动接入运维平台的项目管理列表中,可进行相关运维操作。如下表所示:
其中的访问地址,即为该FineReport集群工程的访问地址,在浏览器新窗口访问该地址,即可进入工程初始化配置界面。