历史版本8 :华为云CCE部署帆软应用 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

运维平台版本
功能变更
V1.10.0-

1.2 应用场景

Kubernetes 是一个开源的容器编排平台,被广泛用于容器化工作负载的管理,支持多云、多区域的部署,有助于实现高可用性和弹性。

CCE (Cloud Container Engine) 是华为云提供的 Kubernetes 托管服务,用于管理、部署和运行容器化应用。

它提供了在华为云上轻松部署、管理和扩展Kubernetes集群的能力,同时集成了华为云的网络、存储和安全等云服务,以提供一种容器化应用程序的全栈解决方案。

本文简单介绍如何在CCE中部署帆软应用(FineReport、FineBI)。

1.3 步骤简介

序号步骤简介

此部分均为准备操作,旨在准备好容器安装所需的镜像和空间。

除获取部分帆软镜像以外的其他操作,如有问题或需使用指导,建议查阅腾讯云帮助文档或联系腾讯云售后支持。

1准备镜像获取镜像

联系帆软获取帆软相关组件(bi6/fr/fdl、elasticsearch、filebeat、skywalking)的镜像包和版本号

自行准备mysql/redis/minio相关镜像包

创建组织

创建一个组织(即镜像仓库),该组织用于存放帆软提供的所有镜像

建议帆软应用所需的所有组件镜像,均存放于该组织中

上传镜像

将本地镜像上传到镜像仓库

2配置集群新建集群建一个集群,容器服务运行在集群中
新建命名空间

创建一个命名空间,该命名空间用于安装存储该帆软应用下的所有组件

建议同一帆软应用下的所有组件,安装在同一华为云集群的同一命名空间下,且该命名空间中不再安装其他组件,实现多应用之间的资源隔离

确认密钥

确认存在密钥类型为「kubernetes.io/dockerconfigjson」的密钥,这是存放拉取私有仓库镜像所需的认证信息

此部分进入正式部署容器环节。部分组件存在依赖关系。

安装顺序:

  • 单节点工程:elasticsearch->filebeat->skywalking->mysql->bi6/fr/fdl

  • 多节点集群:elasticsearch->filebeat->skywalking->mysql/redis/minio->bi6/fr/fdl

组件作用:

  • bi6、fr、fdl组件由帆软提供,请按需索要

  • elasticsearch和filebeat可选但需配套安装,用于替换帆软应用中原有的swift作为日志存储

  • elasticsearch和skywalking可选但需配套安装,用于后续使用FineOps对帆软应用进行链路追踪

  • mysql/redis/minio作为工程外接数据库、集群状态服务器、集群文件服务器

本文仅介绍bi6/fr/fdl组件的安装流程,其他组件的安装方法基本完全一致,请按顺序安装即可。

3安装组件创建存储(可选)

如帆软应用需要使用动态存储,可跳过本步骤

如帆软应用需要使用静态存储,需要提前创建好PVC

生成 YAML

根据清单进行必要信息收集,用户可联系帆软协助生成yaml文件

YAML 创建资源

使用生成的 yaml 文件,在华为云集群中创建资源

创建负载均衡(可选)

一般会创建一个负载均衡,方便外网访问工程

用户可根据实际情况自行选择是否创建

访问帆软应用访问bi6/fr/fdl工程,正式使用

2. 准备镜像编辑

在容器化部署中,镜像仓库用于管理、存储和共享容器镜像,因此在正式部署之前,用户需要先将镜像推送到镜像仓库中。

本文以华为云镜像仓库为例,演示镜像推送的过程。

注1:除 2.1 节需联系帆软获取镜像,本章节其他步骤如有问题,或需使用指导,建议查阅华为云帮助文档或联系华为云售后支持。

注2:用户如另有镜像仓库,请自行调整操作步骤。

2.1 获取镜像

如需部署帆软应用,请联系帆软技术支持,获取以下容器镜像和镜像版本号。

注:FineBI中自带FineReport、FineDataLink功能点,FineReport中自带FineDataLink功能点。

所需镜像
是否必需说明
bi6/fr/fdl
必需FineBI/FineReport/FineDataLink的工程节点组件,其中不带任何的demo数据
elasticsearch可选

替换帆软应用中原有的swift作为日志存储

对项目中FineReport、外接数据库、业务库和其他集群组件的请求进行采集

filebeat可选与elasticSearch组件配套安装,用于抓取工程日志到elasticSearch
skywalking_opa可选与elasticSearch组件配套安装,用于提供链路追踪功能

2.2 创建组织(镜像仓库)

创建一个组织,该组织用于存放帆软提供的所有镜像。建议帆软所有应用涉及的组件,均存放于该组织中。

  1. 登录容器镜像服务控制台。单击控制台左上角的,选择区域和项目。

  2. 在左侧导航栏单击组织管理,进入组织管理页面。

  3. 单击页面右上角的创建组织按钮,在弹框中填写组织名称,然后单击确定」。即可在该项目下创建一个新组织。

详情请参见华为云文档:如何创建组织

2.3 上传镜像

华为云支持两种上传镜像的方式,本文仅简单演示页面上传镜像的方式。

详情请参见华为云文档:客户端上传镜像页面上传镜像

  1. 登录容器镜像服务控制台。单击控制台左上角的,选择区域和项目。

  2. 在左侧导航栏单击我的镜像,进入我的镜像页面。

  3. 单击页面右上角的页面上传按钮,在弹框中选择2.2节创建的组织,单击选择镜像文件,选择2,1节准备的镜像文件。

  4. 单击开始上传待任务进度显示上传完成,表示镜像上传成功。

3. 配置CCE集群编辑

3.1 新建CCE集群

当使用容器服务时,需要先创建集群,容器服务运行在集群中。一个集群由若干节点(云服务器)构成,可运行多个容器服务。

如果已有相关CCE集群,可跳过本节操作。

  1. 登录 CCE控制台,在集群管理页面右上角单击「购买集群」。

  2. 帆软不提供相关操作和购买说明,请参考华为云文档按需购买:购买集群

    3.2 新建命名空间

    一个 Kubernetes 集群支持设置多个命名空间(Namespace),每个命名空间相当于一个相对独立的虚拟空间,不同空间的资源相互隔离互不干扰。

    建议同一帆软应用下的所有组件,安装在同一华为云集群的同一命名空间下,且该命名空间中不再安装其他组件,实现多应用之间的资源隔离。

    本节演示,在华为云集群中,新建一个名叫 fanruan-test 的命名空间(如果已有命名空间,可跳过本节)。

    1. 登录 CCE控制台单击集群名称进入集群。

    2. 在左侧导航栏单击命名空间单击「新建」。

    3. 在新建命名空间页面中,设置名称为「fanruan-test」。点击「确定」。

    详情请参见华为云文档:创建命名空间

    3.3 确认密钥

    密钥(Secret)是一种用于存储工作负载所需要认证信息、密钥的敏感信息等的资源类型。在下文 yaml 文件中需要用到。

    1. 登录 CCE控制台,单击集群名称进入集群。

    2. 在左侧导航栏单击配置与密钥,选择上节创建的命名空间,单击「密钥」。

    3. 确认存在密钥类型为「kubernetes.io/dockerconfigjson」的密钥,这是存放拉取私有仓库镜像所需的认证信息。

    4. 一般华为云会自动为命名空间创建密钥,如无相关密钥,点击「创建密钥」进行新建

    详情请参见华为云文档:创建密钥

    4. 创建帆软应用组件编辑

    4.1 创建存储

    如帆软应用需要使用动态存储,可跳过本步骤。

    如帆软应用需要使用静态存储,需要提前创建好PVC。

    1. 登录 CCE控制台,单击集群名称进入集群。

    2. 在左侧导航栏单击存储,选择上节创建的命名空间,单击「存储卷声明」,单击「创建存储卷申明PVC」。

    详情请参见华为云文档:存储

    4.2 生成YAML

    在 Kubernetes 中,用户可以使用 YAML 文件来定义和创建各种资源。

    1)收集信息

    本节提供必要的信息清单,请参考下表逐项对照收集。收集后的信息请提供给帆软技术同学,协助生成正式的 YAML 文件。


    信息
    说明示例
    镜像

    image

    imageTag

    2.3节上传的镜像名称和版本

    例如:fr:11.0-20230914

    imagePullSecrets(可选)

    3.4节若新建了拉取镜像所需的密钥,需提供密钥名称

    例如:default-secret

    应用名fullnameOverride

    待创建的应用名称,自定义

    例如:fr

    存储(二选一)data.volumeClaimTemplates.storageclass

    1)选择使用动态存储

    2)准备一个 storageclass 名称,作为帆软应用的存储,自定义

    例如:data

    3)按需准备 storage 大小,可不填

    data.volumeClaim.claimName

    1)选择使用静态存储

    2)volumeClaimTemplates.enabled值为false

    3)准备一个claimName ,作为帆软应用的存储,自定义

    例如:data

    用户serviceAccount.create
    serviceAccount.name
    建议使用默认配置,创建一个应用同名用户
    服务service.enabled建议使用默认配置,创建一个应用同名服务
    ingress(可选)

    ingress.enable

    ingress.className

    1) 选择创建一个ingress

    ingress.enable=true

    准备一个ingress.className,自定义,例如:fr

    2)选择不创建ingress

    ingress.enable=false,后续也可手动创建

    2)修改进制


    请检查帆软提供的yaml文件中,defaultMode的值是否为511。

    华为云CCE默认识别十进制,因此要把八进制的0777修改为511。

    spec:
    volumes:
    - name: config
    configMap:
    name: fr
    defaultMode: 511

    4.3 YAML创建资源

    使用 YAML 文件创建资源的主要作用是定义和配置 Kubernetes 集群中的各种资源。这些资源可以包括应用程序的部署、服务、持久卷声明、配置映射、Ingress规则等等。

    1. 登录 CCE控制台,单击集群名称进入集群,选择指定命名空间

    2. 在右上角单击YAML创建」,将上节生成的 YAML 文件内容拷贝进来,点击「确定」即可。

    注:如果在创建过程中,出现报错:「请求资源存在冲突 ServiceAccount “fr” already exists 」

           说明工程中已经存在该资源,删除yaml文件中 ServiceAccount 部分即可。其他资源同理。

    4.4 创建负载均衡(可选)

    一般会创建一个负载均衡,方便外网访问工程。用户可根据实际情况自行选择是否创建。

    详情请参见华为云文档:创建负载均衡类型的服务

    4.5 访问帆软应用

    此时即可访问fr工程。

    1)获取访问路径

    1. 登录 CCE控制台,单击集群名称进入集群。

    2. 在左侧导航栏单击服务,选择上节创建的命名空间。

    3. 在服务明细表中,找到fr/fr的负载均衡,查看访问地址,在后面拼接/webroot/decision,即为工程实际的访问地址。

    • 例如访问地址为ip:port,则工程访问地址为http://ip:port/webroot/decision

    2)访问工程

    根据上一步得到的工程访问地址,即可登录帆软工程进行访问。