1. 概述编辑
1.1 版本说明
工具版本 | 功能变动 |
---|---|
FineKey 1.0 | - |
1.2 应用场景
如需使用运维平台,目前仅支持通过容器化部署方式获取。
服务器部署一直都是比较繁重的运维操作,为了降低部署带来的较高成本,官方上线了容器化部署工具 FineKey 。
工具内置了最新版本的 docker 容器。包含 FR/BI 业务工程的镜像、各类组件镜像、Tomcat 镜像的镜像仓库。
使用该工具可以实现自动化部署,一条命令即可完成所有的部署工作,省心省力又高效。
2. 部署准备编辑
2.1 环境要求
容器化部署工具 FineKey 的运行,对服务器环境有一些要求,如下表所示:
配置 | 要求 |
---|---|
系统版本 | CentOS 7.3 及以上 Ubuntu 18.04.4 及以上 |
系统内核 | 3.10及以上 |
硬件配置 | 剩余空闲物理内存:最低 16G 剩余空闲磁盘容量:最低 500G CPU架构:目前只支持 X64、AMD64 |
2.2 确认组件端口
运维平台可以安装许多组件,请确认需要安装的组件和组件端口。
请确认组件默认端口是否已被使用,如已被使用,请安排好其他空闲端口。
请确认准备使用的端口是否开放了防火墙、安全组等,确保可连接。
组件默认端口如下表所示:
组件 | portMapping {映射端口:容器内端口} 注:映射端口可改,容器内端口修改无效 |
---|---|
fr | 非集群{8080: 8080, 12100: 12100} |
bi | 非集群{8080: 8080, 12100: 12100} |
node_exporter | {9100:9100} |
mysql | 3306 |
mysqld_exporter | {9104:9104} |
nginx | root用户:{80: 8080} 非root用户:{8090: 8080} |
nginx_exporter | {9113: 9113} |
ops | {8081: 8080} |
ops_agent | {9070:9070} |
grafana | {3000:3000} |
alertmanager | {9093:9093} |
loki | {3100:3100} |
prometheus | {9090:9090} |
promtail | {9080:9080} |
redis | {6379:6379} |
redis_exporter | {9121:9121} |
rocketmq_broker | {10909:10909} {10911:10911} {10912:10912} |
rocketmq_namesrv | {9876:9876} |
rocketmq_exporter | {5557:5557} |
2.3 确认docker状态
1)执行命令:docker version
若安装了docker,则会返回版本。
2)若安装了docker:
执行命令:systemctl status docker
确认docker是running状态
2.4 确认用户权限
运行finekey的用户,必须要有root用户组权限。
3. 上传FineKey编辑
3.1 获取工具
「运维平台」目前仍处于内测阶段。
如需试用运维平台,请填写表单申请:运维平台申请表
或微信扫描下方二维码,进入运维平台产品试用报名入口。
3.2 上传工具
获得工具包后,需要将它上传到 Linux,上传文件的方法请自行查阅相关资料。
本文示例是将工具包上传到了 CentOS 7.6.1810 的 /home/test 路径下,如下图所示:
3.3 解压工具
先使用 cd 命令进入工具包所在文件夹下,再键入如下命令进行解压:
tar zxvf finekey-fr-release11.0.tar.gz
3.4 文件说明
解压后的文件如下表所示:
文件夹/文件 | 文件说明 | |
---|---|---|
finekey/bin | 运行finekey的可执行文件 | |
finekey/conf | finekey.yaml | 新部署工程应用所需的配置文件 |
finekey.migrate.yaml | 迁移配置文件,修改了配置,运行finekey时则优先读取该文件 | |
finekey/resources | 资源文件 |
4. 配置yaml文件(非必要步骤)编辑
yaml 文件指的是工具解压目录下 conf 文件夹里的 finekey.yaml,该文件是控制后面整个自动部署流程的。
无任何自备组件的单机部署可不做任何配置,可以直接在当前宿主机本地部署,各个组件使用部署工具自带组件。
但是如果有个性化或特殊的部署需求,可以打开 yaml 文件自行配置,yaml文件的配置需要在启动FineKey之前完成。
yaml 文件里面所有配置项的说明可以移步本文第 3 节查看。
4.1 yaml文件配置建议
1)cluster配置改成true,表示集群工程
2)nodes有几个节点则写多少组-ip,port,user,password
注:如果ssh方式用的是密钥,则password配置注释,新增keypath: 密钥绝对路径/密钥文件
3)无论是否有指定的外接数据库,都建议默认安装内置的mysql5容器,数据库名finedb,用户名root,密码mysql
4)如果没有指定文件服务器、状态服务器以及负载均衡:
finekey.yaml里components中,放开redis的注释,会自动安装单机redis;暂不支持redis集群。
nginx和ftp无需单独配置,会默认安装;其中ftp会用linux自带的sftp,放在挂载目录/fr下。
5)如果有指定的文件服务器,状态服务器以及负载均衡,则放开代码中existingComponets部分
6)如果自备redis集群组件,则放开existingComponets中redis部分,nodes里按照格式罗列各个节点ip端口。
7)文件服务器,目前只支持和finekey在同一机器上的非默认文件服务器,path处只能写当前机器上的目录绝对路径。
8)yaml文件很注重字符格式,该有空格的地方别误删。
9)每个组件都可以自定义端口,参数为:portMapping: {访问用的端口: 镜像中固定的端口 }。
默认端口如2.2节,请排查端口是否可用,是否开放,并修改yaml文件中的端口。
10)yaml中的映射目录,可用磁盘空间需要>=500G
4.2 yaml文件代码详解
基础配置:
cluster: true #是否集群
nodes:
- ip: localhost #机器ip, 本地则直接localhost
port: 22 #机器ssh端口, localhost可不填
username: root #节点ssh用户, localhost可不填
password: 1234 #节点ssh密码,非root时必填,除非普通用户但sudo里配置了nopass, 其他情况比如设置免密登录了,也得填密码
keyPath: #节点ssh密钥文件, root用户可以使用,普通用户但是sudo里配置了nopass也可以使用
全新安装组件:
dataRootPath:~/data #各个组件默认创建的挂载路径
components: #需要安装的组件
fr:
portMapping: { 8080: 8080 } #端口映射
# {8080: 8080, 7800: 7800, 7830: 7830, 7840: 7840, 7850: 7850, 7870: 7870} # 集群下需要映射7800等端口
env: { JAVA_OPTS: -Xms2048 -Xmx5120 } #环境变量,仅提供XMX一个参数的手动修改,其余参数均自动配置好;仅支持配置一个值,若配置多个值时,按照第一个值进行配置,过配置值格式错误时,则按照推荐配置值配置,推荐配置逻辑需根据系统检查的推荐逻辑进行修改
config: { } #应用的其他配置(暂不提供其他配置,只留接口为后面增加拓展使用)
repo:
port: 5000
redis:
password:
portMapping: { 6379: 6379 }
env: { }
config: { }
mysql:
password:
portMapping: { 3306: 3306 }
env: { }
config: { }
配置已有组件:
existingComponents: #如果已有组件,请配置下方,无现有组件,下方空置即可
finedb:
databaseType: mysql/oracle
ip: node1
port: 3306
username:
password:
database: finedb1
schema: aaaa
ftp:
ip: node2
port: 21
username:
password:
path: /data/fr
charset: utf8
redis:
password: 1234
nodes:
- ip: node3
port: 6379
- ip: node4
port: 6379
sftp: #同时存在sftp和ftp时,优先使用ftp
-ip: 192.168.5.47 #sftp的地址信息默认使用nodes的第一个
port: 1521
user: system
password: qwe123
path: ~/data/sftp #默认使用dataRootPath/fanruan_xxxxx/sftp
5. 启动FineKey部署编辑
5.1 启动部署
1)使用 cd 命令进入工具解压目录下 bin 文件夹,如下图所示:
2)键入如下命令执行自动化部署:
./finekey
3)整个部署过程需要花费一段时间,请耐心等待,如果部署过程中出现报错,请移步本文第 5 节,查看有无对应的解决方案
5.2 完成部署
当出现 deployment success!bye~ 提示时,表示已经成功部署,如下图所示:
5.3 访问工程
部署完成后,服务会自动启动,此时可以直接访问「决策平台」和「运维平台」:
访问决策平台,在浏览器地址栏输入:http://{ip}/webroot/decision(请把{ip}换成自己的主机IP)
访问运维平台,在浏览器地址栏输入:http://{ip}/ops/decision(请把{ip}换成自己的主机IP)
例如本文示例,浏览器地址栏键入:http://192.168.110.254/ops/decision,即可访问运维平台,如下图所示:
6. 容器化运维指令编辑
此处列出一些常用的容器化运维指令:
重启容器指令:docker restart 容器名,例如:docker restart fanruan_fr
查看所有容器运行情况:docker ps -a
启动指定容器:docker start 容器名,例如:docker start fanruan_fr
停止指定容器:docker stop 容器名,例如:docker stop fanruan_fr