华为云CCE部署帆软应用

  • 最後修改時間:2023-12-20
  • 1. 概述

    1.1 版本

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

    1.2 应用场景

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

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

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

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

    1.3 步骤简介

    序号步骤简介

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

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

    1准备镜像获取镜像

    联系帆软获取帆软相关组件的镜像包和版本号

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

    新建镜像仓库

    创建一个命名空间,创建每个组件的镜像仓库

    建议帆软应用所需的所有组件镜像,均存储在同一命名空间下的镜像仓库中

    推送镜像

    将本地镜像推送到镜像仓库

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

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

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

    新建保密字典创建该命名空间的保密字典,用于存储密码、令牌、密钥等敏感信息,降低直接对外暴露的风险
    创建存储创建存储,用于保存bi6/fr/fdl组件的业务数据
    3自行提前安装组件

    先自行部署相关组件,确保工程启动所依赖的组件均完备

    elasticsearch可选,用作日志存储,即logdb

    mysql可选,强烈建议准备。作为工程配置库,存储工程相关配置信息

    redis/minio作为集群状态服务器和文件服务器,集群必备,单机无需

    此部分进入正式部署容器环节
    3安装组件修改YAML

    根据自身配置信息,修改 yaml 文

    本文提供文件示例和修改方案,用户可自行修改或联系帆软协助

    YAML 创建资源使用生成的 yaml 文件,在华为云集群中创建资源
    新建 Nginx Ingress 实例创建一个 Nginx Ingress 实例,用于提供进入 Kubernetes 集群的外部流量管理和路由功能
    访问帆软应用访问bi6/fr/fdl工程,正式使用

    2. 准备镜像

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

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

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

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

    2.1 获取镜像

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

    所需镜像
    是否必需说明
    bi6/fr/fdl
    必需FineBI/FineReport/FineDataLink的工程节点组件,其中不带任何的demo数据
    app-init必需执行初始化任务,预加载数据,设置文件权限、从外部获取配置信息等,确保帆软应用在启动时处于一个良好的状态
    elasticsearch可选替换帆软应用中原有的swift作为日志存储

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

    2.2 创建组织(镜像仓库)

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

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

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

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

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

    2.3 上传镜像

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

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

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

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

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

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

    3. K8S集群准备

    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. 一般华为云会自动为命名空间创建密钥,如无相关密钥,点击「创建密钥」进行新建

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

      3.4 创建存储

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

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

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

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

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

      4. 自行准备组件

      在执行下文创建帆软应用操作前,请先自行部署相关组件,确保工程启动所依赖的组件均完备。

      组件可部署在3.2节创建的命名空间中,也可自行安装在其他服务器空间中,只需确保和该命名空间可内网联通即可。

      组件
      镜像说明
      配置数据库自行准备

      组件作用:作为工程的外接配置库(即finedb)。存储系统相关配置信息,包括:平台目录、定时任务、用户权限等

      是否必需:可选,强烈建议安装

      建议准备 MySQL8 类型数据库

      支持的数据库类型包括:MySQL5、MySQL8、Oracle

      信息准备:

      请记录下数据库表空间的URL、模式、用户密码等信息

      状态服务器自行准备

      组件作用:作为集群的状态服务器

      是否必需:单机无需,集群必需

      支持的状态服务器类型包括:Redis单机、Redis集群

      信息准备:

      请记录下Redis的IP、端口、密码等信息

      文件服务器
      自行准备

      组件作用:作为集群的文件服务器

      是否必需:单机无需,集群必需

      支持的文件服务器类型包括:SFTP、FTP、共享外部目录

      信息准备:

      请记录下文件服务器的访问信息

      elasticsearch帆软提供组件作用:作为帆软应用的日志存储(即logdb)。对工程、外接数据库、业务库和其他集群组件的请求进行采集

      是否必需:可选,集群强烈建议安装

      如安装,则取代帆软应用中原有的swift,作为日志存储

      如不安装,将启用帆软应用中原有的swift(logdb)进行日志存储

      信息准备:

      请记录下elasticsearchIP、端口、用户密码等信息

      5. 创建帆软应用

      5.1 修改YAML

      点击下载并解压,获取示例YAML文件:demo_example.zip

      1)请根据自身情况,修改以下内容

      配置项
      说明
      namespace

      请修改namespace值为3.2节选的的命名空间名称

      文件中有多处,请逐一修改

      datasource

      若未准备配置数据库,请修改enabled值为false

      若准备了配置数据库请修改相关配置信息

      enabled: 是否启用配置数据库

      password: 数据库密码

      schema: 数据库模式

      type: 数据库类型

      url: 数据库访问URL

      username: 数据库用户名

      elasticSearch

      若未准备elasticSearch,请修改enabled值为false

      若准备了elasticSearch请修改相关配置信息

      enabled: 是否启用elasticSearch组件

      ip: elasticSearch所在服务器IP

      password: elasticSearch用户的密码

      port: elasticSearch占用端口

      user: elasticSearch用户名称

      fileService

      单机工程,请修改enabled值为false

      集群工程,请修改为文件服务器相关配置信息

      config: 文件服务器信息

      enabled: 是否启用文件服务器

      type: 文件服务器类型

      redis

      单机工程,请修改enabled值为false

      集群工程,请修改为状态服务器相关配置信息

      enabled: 是否启用状态服务器

      nodes: 状态服务器IP和端口

      password: 状态服务器密码

      type: 状态服务器类型

      image

      请修改image为2.3节的的镜像信息和3.3节的Secrets

      storageClassName

      请修改storageClassName值为3.4节存储类名称

      2)修改进制

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

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

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

      5.2 YAML创建资源

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

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

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

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

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

      5.3 创建负载均衡

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

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

      5.4 访问帆软应用

      此时即可访问fr工程。

      1)获取访问路径

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

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

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

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

      2)访问工程

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


      附件列表


      主題: 部署新项目
      已經是第一篇
      已經是最後一篇
      • 有幫助
      • 沒幫助
      • 只是瀏覽