历史版本11 :容器化部署 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本说明

工具版本
功能变动
FineKey 1.0
容器化部署工具上线,只需一条命令即可实现部署工作

1.2 应用场景

服务器部署一直都是比较繁重的运维操作,为了降低部署带来的较高成本,官方上线了容器化部署工具 FineKey 。

工具内置了最新版本的 docker 容器。包含 FR/BI 业务工程的镜像、各类组件镜像、Tomcat 镜像的镜像仓库。

使用该工具可以实现自动化部署,一条命令即可完成所有的部署工作,省心省力又高效。

1.3 环境要求

Linux版本要求硬件配置要求

CentOS 7.3 及以上

Ubuntu 18.04.4 及以上

物理内存:最低 16G

磁盘容量:最低 500G

CPU架构:目前只支持 X64、AMD64

2. 部署流程编辑

2.1 获取工具

如果您想试用容器化部署工具,需要填写表单申请哦:容器化服务申请表

2.2 上传工具

获得工具包后,需要将它上传到 Linux,上传文件的方法请自行查阅相关资料。

本文示例是将工具包上传到了 CentOS 7.6.1810 的 /home/test 路径下,如下图所示:

1653461300707153.png

2.3 解压工具

先使用 cd 命令进入工具包所在文件夹下,再键入如下命令进行解压:

tar zxvf finekey-fr-release11.0.tar.gz

1653461465884164.png

2.4 配置yaml文件(非必要步骤)

yaml 文件指的是工具解压目录下 conf 文件夹里的 finekey.yaml,该文件是控制后面整个自动部署流程的。

无任何自备组件的单机部署可不做任何配置,可以直接在当前宿主机本地部署,各个组件使用部署工具自带组件。

但是如果有个性化或特殊的部署需求,可以打开 yaml 文件自行配置,yaml 文件里面所有配置项的说明可以移步本文第 3 节查看。

1653462061762237.png

2.5 启动部署

1)使用 cd 命令进入工具解压目录下 bin 文件夹,如下图所示:

1653462668323141.png

2)键入如下命令执行自动化部署:

./finekey

1653462807496684.png

3)整个部署过程需要花费一段时间,请耐心等待,如果部署过程中出现报错,请移步本文第 5 节,查看有无对应的解决方案

1653463033924368.png

2.6 完成部署

当出现 deployment success!bye~ 提示时,表示已经成功部署,如下图所示:

1653463189688107.png

2.7 访问工程

部署完成后,服务会自动启动,此时可以直接访问决策平台运维平台」:

  • 访问决策平台,在浏览器地址栏输入:http://{ip}/webroot/decision(请把{ip}换成自己的主机IP)

  • 访问运维平台,在浏览器地址栏输入:http://{ip}/ops/decision(请把{ip}换成自己的主机IP)

       运维平台相关功能介绍,请参见:运维平台

例如本文示例,浏览器地址栏键入:http://192.168.110.254/webroot/decision,即可访问决策平台了,如下图所示:

1653463603417908.png

3. yaml文件说明编辑

3.1 基础配置

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也可以使用

3.2 需要安装的组件

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: { }

3.3 已有组件的配置

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

4. 容器化运维指令编辑

此处列出一些常用的容器化运维指令:

  • 重启容器指令:docker restart 容器名,例如:docker restart fanruan_fr

  • 查看所有容器运行情况:docker ps -a

  • 启动指定容器:docker start 容器名,例如:docker start fanruan_fr

  • 停止指定容器:docker stop 容器名,例如:docker stop fanruan_fr

5. 常见报错编辑

5.1 yaml格式报错

报错样式

parse config file xxxx error: xxx

报错示例

ERROR: 2022/04/20 13:56:28 parse config file /Users/elijah/work/workspaces/goland/finekey/conf/finekey.yaml error: yaml: line 14: mapping values are not allowed in this context

报错原因

yaml 文件里格式有错误

解决方案

根据报错提示中的 line 号修改配置文件格式

5.2 SSH连接失败

报错样式

node:xxx ssh connect error:xxx

报错示例

ERROR: 2022/04/20 13:58:14 node:192.168.101.144 ssh connect error:ssh: handshake failed: ssh: unable to authenticate, attempted methods

报错原因

SSH 连接失败,通常报错明细中出现 unable to authenticate 则代表密码有问题;出现 Connection refused 则代表网络不通等可能

解决方案

检测 yaml 中的 node 信息是否正确

5.3 不能用localhost

报错样式

can't use localhost,127.0.0.1 etc as node.ip in cluster mode. must ensure ensure IP connectivity of all nodes

报错示例

ERROR: 2022/04/20 13:58:14 can't use localhost,127.0.0.1 etc as node.ip in cluster mode.. must ensure ensure IP connectivity of all nodes

报错原因

集群下不能使用 localhost 等回环地址作为 IP

解决方案

修改 IP 为其他节点都能访问的真实 IP

5.4 磁盘容量不足

报错样式

node xxx disk availlable capacity: xxx, less then xxx

报错示例

ERROR: 2022/04/20 14:12:21 node 192.168.101.144 disk availlable capacity:56560048, less then 100G

报错原因

磁盘容量不足

5.5 内存容量不足

报错样式

node xxx memory avillable capacity: xxx, less then xxx

报错示例

ERROR: 2022/04/20 14:12:55 node 192.168.101.144 memory avillable capacity: 7302952, less then 16G

报错原因

内存容量不足