1. 概述编辑
1.1 版本
运维平台版本 | 功能变更 |
---|---|
V1.10.0 | - |
1.2 应用场景
Kubernetes 是一个开源的容器编排平台,被广泛用于容器化工作负载的管理,支持多云、多区域的部署,有助于实现高可用性和弹性。
CCE (Cloud Container Engine) 是华为云提供的 Kubernetes 托管服务,用于管理、部署和运行容器化应用。
它提供了在华为云上轻松部署、管理和扩展Kubernetes集群的能力,同时集成了华为云的网络、存储和安全等云服务,以提供一种容器化应用程序的全栈解决方案。
本文简单介绍如何在CCE中部署帆软应用(FineReport、FineBI)。
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 创建组织(镜像仓库)
创建一个组织,该组织用于存放帆软提供的所有镜像。建议帆软所有应用涉及的组件,均存放于该组织中。
登录容器镜像服务控制台。单击控制台左上角的
,选择区域和项目。
在左侧导航栏单击「组织管理」,进入组织管理页面。
单击页面右上角的「创建组织」按钮,在弹框中填写「组织名称」,然后单击「确定」。即可在该项目下创建一个新组织。
详情请参见华为云文档:如何创建组织
2.3 上传镜像
华为云支持两种上传镜像的方式,本文仅简单演示页面上传镜像的方式。
登录容器镜像服务控制台。单击控制台左上角的
,选择区域和项目。
在左侧导航栏单击「我的镜像」,进入我的镜像页面。
单击页面右上角的「页面上传」按钮,在弹框中选择2.2节创建的组织,单击「选择镜像文件」,选择2,1节准备的镜像文件。
单击「开始上传」。待任务进度显示「上传完成」,表示镜像上传成功。
3. 配置集群编辑
3.1 新建集群
当使用容器服务时,需要先创建集群,容器服务运行在集群中。一个集群由若干节点(云服务器)构成,可运行多个容器服务。
3.2 新建命名空间
一个 Kubernetes 集群支持设置多个命名空间(Namespace),每个命名空间相当于一个相对独立的虚拟空间,不同空间的资源相互隔离互不干扰。
建议同一帆软应用下的所有组件,安装在同一华为云集群的同一命名空间下,且该命名空间中不再安装其他组件,实现多应用之间的资源隔离。
本节演示,在华为云集群中,新建一个名叫 fanruan-test 的命名空间(如果已有命名空间,可跳过本节)。
登录 CCE控制台,单击集群名称进入集群。
在左侧导航栏单击「命名空间」,单击「新建」。
在新建命名空间页面中,设置名称为「fanruan-test」。点击「确定」。
详情请参见华为云文档:创建命名空间
3.3 确认密钥
密钥(Secret)是一种用于存储工作负载所需要认证信息、密钥的敏感信息等的资源类型。在下文 yaml 文件中需要用到。
登录 CCE控制台,单击集群名称进入集群。
在左侧导航栏单击「配置与密钥」,选择上节创建的命名空间,单击「密钥」。
确认存在密钥类型为「kubernetes.io/dockerconfigjson」的密钥,这是存放拉取私有仓库镜像所需的认证信息。
一般华为云会自动为命名空间创建密钥,如无相关密钥,点击「创建密钥」进行新建。
详情请参见华为云文档:创建密钥
4. 创建帆软应用组件编辑
4.1 创建存储
如帆软应用需要使用动态存储,可跳过本步骤
如帆软应用需要使用静态存储,需要提前创建好PVC。
4.2 生成YAML
在 Kubernetes 中,用户可以使用 YAML 文件来定义和创建各种资源。
本节提供必要的信息清单,请参考下表逐项对照收集。收集后的信息请提供给帆软技术同学,协助生成正式的 YAML 文件。
信息 | 说明 | 示例 |
---|---|---|
镜像 | image imageTag | 2.3节上传的镜像名称和版本 例如:fr:11.0-20230914 |
imagePullSecrets | 3.4节若新建了拉取镜像所需的密钥,需提供密钥名称 例如:default-secret | |
应用名 | fullnameOverride | 待创建的应用名称,自定义 例如:fr |
存储(二选一)-动态存储sc | data.volumeClaimTemplates.storageclass | 1)选择使用动态存储 2)准备一个 storageclass 名称,作为帆软应用的存储,自定义 例如:data 3)按需准备 storage 大小,可不填 |
存储(二选一)-静态存储PVC | 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,后续也可手动创建 |
4.3 YAML创建资源
使用 YAML 文件创建资源的主要作用是定义和配置 Kubernetes 集群中的各种资源。这些资源可以包括应用程序的部署、服务、持久卷声明、配置映射、Ingress规则等等。