您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[OceanBase]:曹伟:KubeBlocks在K8s上运行生产级的OceanBase - 发现报告

曹伟:KubeBlocks在K8s上运行生产级的OceanBase

信息技术2024-08-23-OceanBase晓***
AI智能总结
查看更多
曹伟:KubeBlocks在K8s上运行生产级的OceanBase

Runs production-levelOceanBaseon K8s在K8s上运行生产级OceanBase 曹伟 云猿生数据创始人&CEO 云猿生数据创始人/ CEO 前阿里云数据库总经理/研究员,云原生数据库PolarDB创始人。中国计算机学会数据库专委会、开源专委会执行专委,获得2020年中国电子学会科技进步一等奖,在SIGMOD、VLDB、ICDE、FAST、USENIX ATC等数据库与存储国际顶级学术会议发表论文20余篇。 K8s is eating the world K8s is eating the world YAML is the programming language of DevOps 传统data infra control plane——烟囱式架构 DBPaaSAPI & Portal •体验不一致•系统预期行为不一致•业务引入新引擎成本高•Conway's Law 企业对云原生的data infra control plane的需求 通过抽象和扩展API实现对多种数据库的统一管理 KubeBlocksAPI对分布式数据库的拓扑进行抽象 把KubeBlocksAPI映射到数据库–OceanBase 把KubeBlocksAPI映射到数据库–OceanBase主备 低代码插件扩展新引擎–案例OceanBase 要创建哪些组件 OBServer 每个组件如何配置和启动 配置文件启动脚本服务端口 OceanBaseArchitecture 低代码插件扩展新引擎–案例OceanBase ComponentDefinition.yaml 定义组件拓扑和组件配置,主要描述:•Runtime 描述组件运行时信息,例如Containers•Configs:渲染并挂载用户配置文件,参数约束,参数配置等•Scripts:渲染并挂载用户脚本文件,自定义环境变量等•Services:组件对外提供的服务端口和协议•LifecycleActions:常见的生命周期管理的任务,例如角色探测 kind:ComponentDefinitionmetadata:name:oceanbasespec:-serviceKind:…#服务类型services:…#对外提供的服务端口configs:…#配置文件scripts:…#脚本文件runtime:#运行时containers:-command:ports:…volumeMounts:…lifecycleActions:#生命周期管理roleProbe:…#自定义角色探测 定义组件模板,每个组件一个,需要填写 volumeMounts数据/日志文件目录configSpec配置文件scriptSpec脚本文件services内部/外部服务lifecycleActions组件的行为 低代码插件扩展新引擎–案例OceanBase addon.yaml OceanBaseAddon开发OceanBaseAddon要写多少代码? kind:Addonmetadata:name:oceanbasespec:description:OceanBaseDatabase is an enterprise-level nativedistributed database independently developed by Ant Grouphelm:chartLocationURL: https://.../charts/oceanbase.tgz*installable:autoInstall:falsetype: Helm 描述OceanBase,指定是否默认安装等信息 *KubeBlocks的CICD流程会自动创建oceanbase.tgz,开发者不需要关心 *KubeBlocks-Addon会自动会新接入的Addon生成Addon YAML,简化了流程 低代码插件扩展新引擎–案例OceanBase 运维功能列表 2步创建集群 Step1:打开addon kbcliaddon enableoceanbase Step2:指定引擎类型,创建集群 kbclicluster createoceanbasemyob#myob为集群名 StepX:集群运维 kbclicluster<ops>myob 像搭乐高积木一样标准与高效的在K8s上组装数据库基础设施 通过Component灵活组装OceanBase的多种部署形态 为企业在K8s上搭建统一管理多种数据库的DBPaaS KubeBlocks针对容器和云环境对MySQL与PostgreSQL数据库的内核和参数进行优化,性能超过同规格RDS。 性能 KubeBlocks支持多种数据库的高可用集群配置。 KubeBlocks是一个开源的在K8s上运行和管理数据基础设施的系统软件,它帮助开发人员、SRE、平台工程师在企业中部署和维护专用的DBPaaS,并支持多种公共云和私有云环境。 为数据库运维提供丰富的Day-2 Operations KubeBlocksin CNCF Landscape 欢迎加入社区 谢谢 谢谢 谢谢