附录四 数据库 Operator 增值模块

OpenTrek场景,中间件worker节点扩容到zaku管理集群,operator管控面运行在master节点,中间件实例运行在worker节点。

OpenTrek 场景数据库 Operator 部署架构

非opentrek场景,不需要给zaku管理集群扩容节点,operator管控面运行在master节点,中间件实例运行在新建的业务k8s集群中,不在zaku管理集群中运行中间件实例.

独立业务集群场景数据库 Operator 部署架构

下载安装包

下载安装包,存放在管理集群最后一个节点(单机场景是第一个节点,高可用场景是第三个节点)

operator通用包:zaku-1.35-3.11.0-all-in-one-addon-rds-all-2.x.xx.bin

opentrek场景精简包:zaku-1.35-3.11.0-all-in-one-addon-rds-opentrek-2.x.xx.bin

安装

opentrek场景的部署包。3节点安装约35分钟,单节点约30分钟,安装时间和服务器性能相关。

#方案一:使用空闲的盘作为operator管控面的存储。默认建议方案一,如果无法提供空闲的盘给operator,则使用方案二。
bash zaku-1.35-3.11.0-all-in-one-addon-rds-opentrek-2.x.xx.bin --kb_local_csi_drivers #盘符,如果有多个逗号分隔,比如:vdb,vdc#

#方案二:使用已有storageClass作为operator管控面的存储,例如storageClass使用zaku提供的edge-lvm。
bash zaku-1.35-3.11.0-all-in-one-addon-rds-opentrek-2.x.xx.bin --kb_local_csi_enabled false --kb_storage_class #环境已有的sc,例如edge-lvm#

数据库Operator的控制台地址和zaku控制台地址一致,路径改成/rds/admin。

例如Zaku控制台是http://192.168.1.100/ze,那么数据库Operator控制台地址是 http://192.168.1.100/rds/admin

用户名密码和Zaku一致。

申请授权

提供k8s集群ID申请授权。

数据库 Operator 集群 ID 与授权申请

添加环境

提前获取需要运行中间件实例的k8s集群的kubeconfig文件(opentrek场景,zaku管理集群同时作为中间件运行的集群,添加到环境中),环境名称固定为rds。

数据库 Operator 添加环境入口
数据库 Operator 环境名称与集群配置

默认情况下K8S集群内有独立计算节点时,master节点不勾选数据节点,仅计算节点勾选为数据节点(数据节点计算operator授权)。

数据库 Operator 数据节点角色选择

默认存储类选择:

  • 部署管控面的时候使用的是方案一,添加环境时选择的存储类不要用edge-lvm,要用kbe-local。如果是新建业务集群添加为环境,没有kbe-local这个storageClass,要安装kbe-local csi,参考后续章节

  • 部署管控面的时候使用的是方案二,用已有storageClass。添加环境的时候先用edge-lvm,然后安装kbe-local csi(需要指定仅worker节点安装,具体配置参考后续章节),再修改默认存储类为kbe-local

minio副本数要填2。

数据库环境 MinIO 副本数配置

添加环境成功。

数据库 Operator 环境添加成功

部署管控面的时候使用方案二时,安装kbe-local csi,再修改默认存储类为kbe-local。

数据库环境默认存储类修改入口
数据库环境默认存储类选择

准备公网地址范围

数据库Operator提供公网地址能力,该能力使用zaku平台的外部网络功能,需要在zaku控制台上进入对应的中间件集群,并创建服务外部网络。

数据库 Operator 公网地址范围配置

服务外部网络创建位置如下。

Zaku 服务外部网络创建位置

安装kbe-local本地存储CSI插件

kbe-local插件在中间件集群中安装。

安装CSI前先检查是否有kbe-local这个storageClass,如果存在无需再安装。

业务K8S集群要作为中间件集群添加到kbe环境,需要安装kbe-local。

安装脚本下载到中间件集群第一个master,其他节点没有加repo。

下载安装脚本:

https://zstack-cloud-native.oss-accelerate.aliyuncs.com/operator/install/apelocal.sh

所有节点都安装kbe-local csi

仓库地址和盘符需要调整,vdc是一块裸盘。

仓库地址可在 Zaku 管理节点执行 ll /etc/containerd/certs.d/|grep 7701 命令查看。

./apelocal.sh install \
  --image-registry 172.30.248.101:7701/kubeblocks \
  --device vdc
  --ssh-port 22

仅部分节点安装kbe-local csi

如果只有部分节点要安装kbe-local,可增加--nodes nodes.txt参数,nodes.txt文件里填写节点名称。

cat nodex.txt
worker-1
worker-2
worker-3

只有worker节点上要安装kbe-local。

./apelocal.sh install \
  --nodes nodes.txt \
  --image-registry 172.30.248.101:7701/kubeblocks \
  --device vdc
  --ssh-port 22

卸载kbe-local

如果遇到安装kbe失败的情况,可卸载kbe后重新执行bin包安装

helm -n kb-cloud uninstall installer

helm -n kb-cloud install installer zstack/kb-cloud-installer --version 2.2.95 -f /etc/kubernetes/addons/zstack/rds/kb-cloud-values.yaml --wait --wait-for-jobs --timeout=30m --set action=uninstall

helm -n kb-cloud uninstall installer