部署准备
在部署之前,需要准备以下资源:
服务器资源
| 资源 | 配置 | 版本 | 备注 |
|---|---|---|---|
| K8S平台 | namespace 资源配额:8C16G以上 | 1.20以上 | |
| MySQL | CPU:8核 内存:16G 存储:200G | 5.7/8.0以上 | 部署模式:主从 库名:finclip # 单独一个库,可用其他库名 用户:finclip # 拥有数据库 finclip 所有权限,可用其他用户名 字符集编码:utf8mb4 排序规则: 不区分大小写 |
| Redis | 内存:16G | 6.2 | 单机主从或者分片集群模式 |
| S3对象存储 | 存储:200G | - | 需提供以下信息 连接地址 bucket access_key secret_key |
| 网络 | 对外提供访问端口:30001 | - | 需要开放访问端口,可修改 |
| 域名(可选) | - | - | 需提前做好域名解析 |
| HTTPS证书(可选) | - | - | 需提前准备证书 |
- FinClip 组件镜像包
bash
请向凡泰极客人员索取最新版本;- FinClip 编排 Helm Chart
bash
请向凡泰极客人员索取最新版本;- license 许可证文件
bash
由凡泰极客人员颁发提供;- 部署工具
bash
linux 运维服务器
docker、kubectl、helm 工具离线镜像导入(私有仓库)
将 FinClip 组件镜像包 和 FinClip chart 包 拷贝到运维服务器后,登陆运维服务器
- 导入离线镜像
bash
## registry.finogeeks.internal:5000/mop/ 替换为内网仓库地址,使用以下命令批量导入
for i in `docker load -i images.tgz |awk '{print $NF}'` ; do docker tag $i `echo $i|awk -F '/' '{print "registry.finogeeks.internal:5000/mop/"$NF}'` ; docker push `echo $i|awk -F '/' '{print "registry.finogeeks.internal:5000/mop/"$NF}'` ;done- 创建命名空间 finclip
bash
kubectl create namespace finclip创建 imagePullSecrets(拉取私有仓库镜像的凭据)
secret name:finclipro,或使用已经存在的凭据
bash
kubectl create secret generic finclipro --from-file=.dockerconfigjson=/root/.docker/config.json --type=kubernetes.io/dockerconfigjson -n finclip修改配置文件
解压 FinClip chart 包 ,进入相关目录
- 修改 license 文件
bash
license 由凡泰人员提供,直接复制内容粘贴即可- 修改 values.yaml 部署文件
bash
# 1、修改镜像地址
## docker.finogeeks.club/mop 替换为内网仓库地址
## 例如
apps:
access_api: docker.finogeeks.club/mop/access-api:v1.15.1
## 改为
apps:
access_api: registry.finogeeks.internal:5000/mop/access-api:v1.15.1
# 2、修改拉取镜像凭据(imagePullSecrets)
imagePullSecrets:
- name: finclipro # 修改为对应的凭据名
# 3、修改数据服务账号密码
cdn:
enabled: false
url: https://cdn.aliyun.com # 修改为CDN地址,CDN地址直接指向源站
uri: /api/v1/mop/runtime/download/ # 默认路径,无需修改
# 4、修改数据服务账号密码
gateway:
gw_node_port: 30001 # 开放全部路由
gw_api_node_port: 30002 # 只开放小程序运行相关接口
# 5、修改数据服务账号密码
## MySQL 配置修改
mysql:
host: mysql # 数据库地址,例如 192.168.1.1
port: 3306 # 数据库端口号,默认为 3306
username: 'finclip' # 数据库的登录账号
password: 'password' # 数据库的登录密码
dbname: finclip # 数据库的名称,存储应用所需的数据
## Redis 配置修改
redis:
mode: single # Redis 运行模式,可选择 single(单节点)或 cluster(集群模式)。
addr: redis:6379 # Redis 地址信息。单节点模式下为 `<host>:<port>`,集群模式下为多个地址用逗号分隔,例如:192.168.1.1:7000,192.168.1.1:7001,192.168.1.2:7000,192.168.1.2:7001,192.168.1.3:7000,192.168.1.3:7001
password: password # Redis 密码,若 Redis 没有启用密码验证,请留空。
username: "" # 默认为空
## 存储配置修改,以下为 minio 模式下的配置
storage:
mode: minio # 存储类型,可选 minio(本地对象存储)、tencent_cos(腾讯云 COS)、ali_oss(阿里云 OSS)、aws_s3(亚马逊 S3)
endpoint: minio:9000 # 对象存储的访问地址,例如 MinIO 服务的地址和端口号
bucket: finclip # 对象存储的桶名称,必须确保已创建并具备相应的权限
access_key: finclip # 对象存储的访问密钥(Access Key),需与存储服务的配置一致
secret_key: password # 对象存储的密钥(Secret Key),用于授权访问存储服务
use_ssl: false # 是否启用 SSL 安全访问,默认为 false。如果存储服务启用了 HTTPS,请将其设置为 true
#region: ap-northeast-1 # aws 配置helm 部署
配置完成修改后,使用 helm 命令启动 finclip 服务
bash
# 安装 finclip
helm install finclip . -n finclip
## 查看 pod
kubectl -n finclip get pod访问验证
- 查看容器状态为 Running
kubectl get pod -n finclip
- 登录验证,服务以 nodeport 方式暴露 30001 端口
| 网站名称 | 访问链接 | 初始账户 | 说明 |
|---|---|---|---|
| 数字中心 | http://IP:PORT/ops/ | admin | PORT:端口号,默认 30001,IP:K8S 服务器 ip 地址,如: 172.217.163.46 |
| 开发中心 | http://IP:PORT/dev/ | 自行注册 |
