1. 概述编辑
2. 准备镜像编辑
在容器化部署中,镜像仓库用于管理、存储和共享容器镜像,因此在正式部署之前,用户需要先将镜像推送到镜像仓库中。
2.1 使用前提
用户在进行本节操作之前,需自行准备好镜像仓库,用于存储帆软应用镜像
2.2 获取镜像
如需部署帆软应用,请联系帆软技术支持,获取以下容器镜像和镜像版本号。
注:FineBI中自带FineReport、FineDataLink功能点,FineReport中自带FineDataLink功能点。
所需镜像 | 是否必需 | 说明 |
---|---|---|
bi6/fr/fdl | 必需 | FineBI/FineReport/FineDataLink的工程节点组件,其中不带任何的demo数据 |
elasticsearch | 可选 | 替换帆软应用中原有的swift作为日志存储 对项目中FineReport、外接数据库、业务库和其他集群组件的请求进行采集 |
filebeat | 可选 | 与elasticSearch组件配套安装,用于抓取工程日志到elasticSearch |
skywalking_opa | 可选 | 与elasticSearch组件配套安装,用于提供链路追踪功能 |
2.3 推送镜像
请将获取的镜像包上传到镜像仓库中。请记住镜像最终的存储地址和版本号。本文演示常见的镜像推送步骤。
1)登录到镜像仓库
使用 docker login 命令登录到你的镜像仓库。你需要提供用户名、密码和仓库地址。
docker login <registry_address>
2)标记镜像
使用 docker tag 命令标记你的镜像,将其命名为包含仓库地址的完整名称。
docker tag <image_name:tag> <registry_address>/<image_name:tag>
例如:docker tag fr:11.0 fr/fr:v11.0.19
3)上传镜像
使用 docker push 命令将标记的镜像上传到镜像仓库。
docker push <registry_address>/<image_name:tag>
例如:docker push fr/fr:v11.0.19
3. K8S集群准备编辑
3.1 创建K8S集群
用户在进行本节操作之前,需自行使用 Rancher 创建好 Kubernetes 集群。
本节所有操作,均在已创建好的K8S集群中进行。
3.2 创建命名空间
一个 Kubernetes 集群支持设置多个命名空间(Namespace),每个命名空间相当于一个相对独立的虚拟空间,不同空间的资源相互隔离互不干扰。
建议同一帆软应用下的所有组件,安装在同一K8S集群的同一命名空间下,且该命名空间中不再安装其他组件,实现多应用之间的资源隔离。
本节演示,在K8S集群中,新建一个名叫 fanruan-test 的命名空间(如果已有命名空间,可跳过本节)。
1)创建项目
进入集群,点击「集群>项目/命名空间」,点击「创建项目」,创建一个名叫「fanruan-ops」的项目。
2)创建命名空间
在「fanruan-ops」项目中,点击「创建命名空间」,创建一个名叫「fanruan-test」的命名空间。
3.3 查看存储类名称
K8S集群的存储,是保存业务数据的重要组件。请查看存储类名称,后续需要使用
4. 创建帆软应用编辑
4.1 修改YAML
点击下载并解压,获取示例YAML文件:demo_example.zip
请根据自身情况,修改以下内容:
配置项 | 说明 |
---|---|
namespace | 请修改namespace值为3.2节选的的命名空间名称 |
image | 请修改image为2.3节的镜像信息(如果镜像拉取需要密钥,也需要写进来) |
storageClassName | 请修改storageClassName值为3.3节存储类名称 |
4.2 YAML创建资源
使用上节修改后的YAML文件,在3.2节选定的命名空间中,创建应用。
4.3 确认创建成功
导入成功后,会提示已应用资源,如下图所示:
进入「工作负载>StatefulSet」,等待fr工程状态转为「running」,则工程即可直接访问
4.4 创建ingress服务(可选)
用户可以为 Kubernetes 集群创建一个流量管理器,用于处理从外部进入集群的所有请求。
点击「服务发现>Ingresses」,点击「创建」。
选择指定命名空间,自定义名称,设置路径,选择目标服务。
如下图所示:
4.5 访问帆软应用
此时即可访问fr工程。工程访问地址为http://ip:port/webroot/decision
其中的端口为上节创建的ingress占用端口。