Skip to content
English

部署中间件

1.部署准备

在部署之前,需要准备以下资源:

中控机

  • 需要使用 root 或相同权限的账户;
  • 需要将部署过程中,所有会用到的部署包、工具等上传到该服务器;
  • 该服务器不需要访问互联网;
  • 需要安装 CentOS 7.9 或 Ubuntu 22.04 及以上系统;
  • 需要使用 Intel x86_64 架构的硬件;
  • 该中控机与所有的“被部署端”保持所有端口互通(或最低的状态)。

安装包

  • Ansilbe 离线依赖包:
bash
Centos:https://temp-1251849568.cos.ap-guangzhou.myqcloud.com/download/ansible/os/centos/ansible-centos-7-x86-1.0.1.tar.gz

Ubuntu:https://temp-1251849568.cos.ap-guangzhou.myqcloud.com/download/ansible/debian/ansible-ubuntu-x86-22.04.20240628.tar.gz
  • Ansible Playbook:
bash
https://temp-1251849568.cos.ap-guangzhou.myqcloud.com/download/ansible/finclip-deploy-ansible-master.tar.gz
  • RKE2 安装包:
bash
https://temp-1251849568.cos.ap-guangzhou.myqcloud.com/download/ansible/rke2/1.26.12-rke2r1.tar.gz
  • Rancher 镜像包:
bash
https://temp-1251849568.cos.ap-guangzhou.myqcloud.com/download/ansible/images/rancher-images-x86-2.7.10.tar.gz
  • 基础服务镜像包:
bash
https://temp-1251849568.cos.ap-guangzhou.myqcloud.com/download/ansible/images/stateful-images-x86-1.0.2.tar.gz
  • FinClip 组件镜像包
bash
请向凡泰极客人员索取最新版本;
  • FinClip 编排 Helm Chart
bash
请向凡泰极客人员索取最新版本;
  • license 许可证文件
bash
由凡泰极客人员颁发提供;

2.环境初始化

将凡泰极客提供的 Ansible Playbook、Rancher 镜像包、中间件镜像包、FinClip 组件镜像包、FinClip 编排 Helm 上传至中控机后,依次执行下列命令进行依赖安装:

  • 解压并移动压缩包
bash
# 创建部署目录
mkdir -p /data/finclip-installation
# 解压playbook
tar xvf finclip-deploy-ansible-master.tar.gz -C /data/finclip-installation
# Centos
tar xvf ansible-centos-7-x86-1.0.1.tar.gz -C /data/finclip-installation/finclip-deploy-ansible-master/
# Ubuntu
tar xvf ansible-ubuntu-x86-22.04.20240628.tar.gz -C /data/finclip-installation/finclip-deploy-ansible-master/
# 移动镜像包
mv 1.26.12-rke2r1.tar.gz rancher-images-x86-2.7.10.tar.gz stateful-images-x86-1.0.2.tar.gz monitor-57.2.0.tar.gz log-image.tar.gz /data/finclip-installation/finclip-deploy-ansible-master/
  • 切换至部署目录
bash
cd /data/finclip-installation/finclip-deploy-ansible-master/
  • 安装 Python3、pip3 与相关依赖
bash
bash /data/finclip-installation/finclip-deploy-ansible-master/files/install_python3-with-pip.sh
  • 安装 Ansible 与相关依赖
bash
bash /data/finclip-installation/finclip-deploy-ansible-master/files/install_ansible.sh
  • 环境检查

安装完成后,可以通过命令 pip3 -V 验证 pip3 是否安装成功。

Ansible 可以通过 ansible --version 验证是否安装成功。

3.配置 Ansible Playbook

在中控机上配置 Ansible Playbook

回到安装包目录,依次执行下列命令准备 Ansible Playbook

  1. 切换至目录

cd /data/finclip-installation/finclip-deploy-ansible-master/

  1. 拷贝 inventory 文件

cp inventory.example inventory

  1. 打开 inventory 文件,在 [角色] 下方分配 IP
角色说明最小节点数 / 推荐节点数
registry私有 Docker 镜像仓库1 / 1
redis_clusterRedis 集群0 / 3 或更多
mysqlmysql 集群0 / 2 或更多
minioMinIO 集群+纠删码模式0 / 4 或更多
rke_workerKubernetes 集群的 Worker 节点0 / 3 或更多
rke_controlplaneKubernetes 集群的控制节点0 / 3 或更多

最小: 指的是该组件可以接受以该数量的节点运行;

推荐: 指的是该组件在标准化部署下,建议以该数量的节点进行部署;

registry: 部署过程中会用到的私有 Docker 镜像仓库。该组件属于临时组件,部署完成后,建议转移所有镜像至您自有的镜像仓库中;

更多: 代表该角色所指的服务,如果有特别的需要,可以分配该数量以上的、且尽可能多的节点。

准备 SSH 鉴权信息

依次执行下列命令准备 SSH 鉴权信息

  • 生成 SSH Public Key

中控机执行命令: ssh-keygen,按照命令提示进行操作,如果不需要自定义配置,连续敲击 [ENTER] 即可按照默认进行设置。直到出现下列 randomart image 代表 SSH Public Key 已经生成完成。

  • 分发 SSH Public Key

执行命令:ssh-copy-id -i /root/.ssh/id_rsa.pub [用户]@[IP 地址]

所有机器都需要分发,请根据实际情况,替换 [用户][IP 地址] ,如 root@10.0.0.1

  • 切换至 Ansible 目录

执行命令: cd /data/finclip-installation/finclip-deploy-ansible-master/

  • 测试 SSH 可达性

执行命令:ansible all -m ping

确认所有回显均为“[IP 地址] | SUCCESS” 与“ping: pong” 。

标准化基建部署

默认全部内容部署在 /data/finclip 目录下

如需修改: 编辑 /data/finclip-installation/finclip-deploy-ansible-master/roles/deploy/vars/default.yaml 文件,修改 persistent_dir_prefixe: "/data/finclip" 变量

确认 inventory 文件的角色分配无误后,执行下列命令通过 Ansible 自动部署中间件与基建服务

  • 切换至 Ansible 目录

cd /data/finclip-installation/finclip-deploy-ansible-master/

  • 执行 Ansible Playbook 进行部署

ansible-playbook deploy.yaml | tee setup.log

部署通常需要 30-40 分钟左右,如果出现下列的信息,则表示部署完成:

部署完成后日志保存在当前目录 setup.log 文件中

获取 MySQL、Redis、Registry、MinIO 等中间件的鉴权、连接地址信息

cat /data/finclip-installation/finclip-deploy-ansible-master/note.txt

获取 Rancher、Grafana 等密钥信息;

cat /data/finclip-installation/finclip-deploy-ansible-master/.secret.yaml

获取 ElasticSearch 的鉴权信息,其中 "elastic" 用户为业务用户。

cat /root/esAuth

注意: Helm 部署 Finclip 只需要查看 note.txt 中的信息即可。

部署 Finclip

1.FinClip 部署资源准备

导入镜像

回到安装包目录,中控机执行以下命令,导入凡泰极客提供的 FinClip 组件镜像包并上传至 Registry 仓库:

bash
for i in `docker load -i images.tgz |awk '{print $NF}'` ; do docker tag $i `echo $i|awk -F '/' '{print "registry.finogeeks.internal:5000/"$(NF-1)"/"$NF}'` ; docker push `echo $i|awk -F '/' '{print "registry.finogeeks.internal:5000/"$(NF-1)"/"$NF}'` ;done

创建 finclip namespace

中控机执行以下命令:

kubectl create namespace finclip

创建 imagePullSecrets

创建所需凭据,用于拉取 Registry 仓库中的容器镜像,中控机执行以下命令创建:

kubectl create secret generic finclipro --from-file=.dockerconfigjson=/root/.docker/config.json --type=kubernetes.io/dockerconfigjson -n finclip

2.部署 Finclip

修改 Helm 部署文件

回到安装包目录,解压由凡泰极客人员提供 Helm chart 包。

需要修改连接接信息、鉴权以符合实际环境需要。

  1. 编辑 license 文件

进入到 FinClip 编排 Helm chart 目录,修改 "凡泰极客-POC-F-01_20240513_license.txt" 文件为正确的 license 密钥

  1. 编辑 values.yaml

进入到 FinClip 编排 Helm chart 目录,编辑 values.yaml 文件,删除旧的数据服务信息,复制 /data/finclip-installation/finclip-deploy-ansible-master/note.txt 中的 redis、mysql、objectStorage、 elasticsearch 信息直接粘贴到 values.yaml 文件中。

使用sed命令修改仓库地址

bash
sed -i 's@docker.finogeeks.club/mop@registry.finogeeks.internal:5000/mop@g' values.yaml
sed -i 's@docker.finogeeks.club/infra@registry.finogeeks.internal:5000/infra@g' values.yaml

启动 finclip 服务

在部署机器上执行(中控机上)

使用 cd 命令切换到 FinClip 编排 Helm chart 目录 :finclip-chart(不同版本目录名不同)

执行命令启动服务:Helm install finclip . -n finclip

启动完成查看 pod 状态是否为 running:kubectl get pod -n finclip

其他命令参考

配置修改后更新:Helm upgrade finclip . -n finclip

卸载:Helm uninstall finclip -n finclip

访问验证

网站名称访问链接初始账户说明
数字中⼼http://IP:PORT/ops#/adminPORT:端口号,默认 30001,IP:服务器所在ip地址,如: 172.217.163.46
开发中⼼http://IP:PORT/dev#/自行注册

视频教程

访问地址:集群版部署

Digital Ecosystem Infrastructure.