Update README.md
应用于kubernetes中,管理OpenGauss集群部署、更新的Operator。
我们不仅实现了赛题的基本特性要求:单机部署、集群部署、动态扩缩容、Pod迁移以及版本更新, 还扩展了一项数据库的常用特性:数据库备份。此外,我们在功能性特性的基础上,从可用性、易用性、灵活性上 做出了大量优化,力求达到:优雅升级/迁移、主备故障恢复、部署/配置简单、资源配置灵活。
mode设置为standalone,完成单机部署。
mode
Opengauss官方部署方式,可支持一主多备,预留master字段,可做级联部署。
master
识别image、resource字段,为对应集群节点做版本和资源更新。
image
resource
以name字段标识每个备节点,operator通过对比,当备节点出现新增或删除时进行对应扩缩容。
name
每个Instance以nodeName作为Pod迁移的依据,当发现目前name对应nodeName不一致,则对其进行指定的node迁移。
Instance
nodeName
根据backup字段定义,指定每隔一段时间interval备份指定的数据库实例instance
backup
interval
instance
apiVersion: database.iscas/v1alpha1 kind: OpenGauss metadata: name: opengauss-sample spec: readPort: 30000 # 读服务端口,读服务可以负载均衡到所有副本上(包括主库) WritePort: 30001 # 写服务端口,写服务只能使用主库 backup: # 数据库备份配置 instance: master # 指定备份的数据库实例 interval: 1 # 备份间隔时间(0表示不备份,单位为小时) mode: cluster # 指定单机模式"standalone"或集群模式"cluster" primaryInstance: # 指定主库配置 image: enmotech/opengauss:2.1.0 # 数据库镜像 name: master # 数据库示例名称 nodeName: master-60 # 指定调度节点 resources: # 节点资源要求,与Pod配置要求一样(cpu及memory) limits: cpu: 1 memory: 2Gi storage: 4Gi # 最小磁盘容量要求 standbyInstances: # 指定备库配置 - image: enmotech/opengauss:2.1.0 # 数据库镜像 name: standby1 # 备库名称 nodeName: master-60 # 指定调度节点 resources: ... # 节点资源配置 storage: 4Gi # 磁盘存储配置 - image: enmotech/opengauss:2.1.0 name: standby2 nodeName: master-60 resources: ... storage: 4Gi
openGauss-operator
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
概述
应用于kubernetes中,管理OpenGauss集群部署、更新的Operator。
完成情况
我们不仅实现了赛题的基本特性要求:单机部署、集群部署、动态扩缩容、Pod迁移以及版本更新, 还扩展了一项数据库的常用特性:数据库备份。此外,我们在功能性特性的基础上,从可用性、易用性、灵活性上 做出了大量优化,力求达到:优雅升级/迁移、主备故障恢复、部署/配置简单、资源配置灵活。
项目架构
功能点
单机部署
mode
设置为standalone,完成单机部署。集群部署
Opengauss官方部署方式,可支持一主多备,预留
master
字段,可做级联部署。更新
识别
image
、resource
字段,为对应集群节点做版本和资源更新。集群扩缩容
以
name
字段标识每个备节点,operator通过对比,当备节点出现新增或删除时进行对应扩缩容。pod指定node迁移
每个
Instance
以nodeName
作为Pod迁移的依据,当发现目前name
对应nodeName
不一致,则对其进行指定的node迁移。数据库备份
根据
backup
字段定义,指定每隔一段时间interval
备份指定的数据库实例instance
非功能性
可用性
灵活性
易用性
配置文件示例