K8s正在成为主流技术,YAML成为DevOps的编程语言。传统data infra control plane采用烟囱式架构,导致体验不一致、系统预期行为不一致、业务引入新引擎成本高等问题(Conway's Law)。企业对云原生的data infra control plane需求迫切,KubeBlocks通过抽象和扩展API实现对多种数据库的统一管理。
KubeBlocks API对分布式数据库的拓扑进行抽象,并将其映射到OceanBase,支持主备部署。通过低代码插件扩展新引擎,以OceanBase为例,展示了如何创建组件、配置和启动。组件定义包括拓扑、配置、脚本、服务端口和生命周期管理;组件模板需填写volumeMounts、configSpec、scriptSpec、services和lifecycleActions等信息。OceanBaseAddon开发简单,KubeBlocks的CICD流程自动创建oceanbase.tgz,开发者只需关注核心逻辑。
运维功能方面,KubeBlocks支持2步创建集群(kbcli addon enable oceanbase和kbclicluster create oceanbasemyob),并提供丰富的Day-2 Operations。KubeBlocks通过Component灵活组装OceanBase的多种部署形态,为企业搭建统一管理多种数据库的DBPaaS。KubeBlocks针对容器和云环境优化MySQL与PostgreSQL内核和参数,性能超过同规格RDS,并支持多种数据库的高可用集群配置。KubeBlocks是开源的K8s数据基础设施系统软件,支持多种云环境,为数据库运维提供丰富的Day-2 Operations,并在CNCF生态中占据重要位置。