1、K8s上的数据库私有云之旅:KubeBlocks架构设计与实践曹伟丨 云猿生数据创始人/CEO前阿里云数据库总经理(研究员),阿里云RDS的架构师,云原生数据库PolarDB创始人。中国计算机学会数据库专委会、开源专委会执行专委,获得 2020 年中国电子学会科技进步一等奖,在 SIGMOD、VLDB、ICDE、FAST、USENIX ATC 等数据库与存储国际顶级学术会议发表论文 20 余篇。云猿生数据创始人/CEO演讲者:曹伟内容大纲 公共云公共云、私有云私有云,K8sK8s和数据库的和数据库的演进演进趋势趋势 数据库私有云平台案例数据库私有云平台案例 dbPaaSdbPaaS的挑战的挑战
2、 KubeBlocksKubeBlocks的设计理念及核心特点的设计理念及核心特点 数据库容器化的常见问题数据库容器化的常见问题数据库行业发展方向ServerlessServerless公共云全托管公共云全托管On-PremOn-Prem适合小规模且难以预测小规模且难以预测的负载适合中小型规模且波动较为规律中小型规模且波动较为规律的负载适合中大型规模且波动较为规律中大型规模且波动较为规律的负载公有云 vs.私有云的选择定制化和可控性云原生和K8s技术的发展内因内因外因外因成本控制合规性要求趋势一私有云正在从时代全面进化到趋势二K8s 发展带动技术水平追赶趋势三K8s 正在统一公共云和私有云的
3、K8s:构建 PaaS 的基础GKEEKSACKAKSOpenShiftRancher阿里云AWSGCPAzure物理机PODservicePVC/PVsecretconfigmapTaintTolerationAffinityAnti-AffinityeventAppPaaSPaaS层层MiddlewareWorkflow业务层业务层K8sAIIaaS透明调度器服务发现声明式APICI/CDBig Data配置管理K8s PaaS 全景图里还缺最后一块:dbPaaS的挑战研发和运维研发和运维人力不足人力不足运维操作复杂运维操作复杂数据库种类太多数据库种类太多陷阱:烟囱式架构开发和维护成本高开
4、发和维护成本高引入新引擎成本高引入新引擎成本高MySQLPGRedisMongoDBClickHouse,ES,Kafka,HA备份恢复迁移监控报警审计扩缩容容灾调度虚拟机物理机容器存储网络升级账号授权环环境境引引擎擎运运维维操操作作能不能像一样在K8s上进行管理呢?数据库容器化后首先思考:如何解决软件工程复杂性问题APPSystem callVFSPOSIX-open()-read()-write()ext4xfszfsnfsfuses3fs文件系统的模型文件系统的模型网络系统的模型网络系统的模型K8sK8s扩展的模型扩展的模型CRICSICNI抽象抽象抽象抽象分层分层KubeBlocks通
5、过抽象和分层管理数据库KubeBlocksKubeBlocks OperatorOperator实现实现Cluster ControllerCluster ControllerComponent ControllerComponent ControllerInstanceSet InstanceSet ControllerControllerClusterClusterComponentComponentInstanceSetInstanceSetInstanceInstanceK8s APIK8s APIPodPodPVCPVCConfigmapConfigmapServiceService
6、SecretSecretKubeBlocksKubeBlocks APIAPIClusterDefintionClusterDefintionComponentDefinitionComponentDefinition ComponentVersionComponentVersionAddon APIAddon APIkbclikbcliKubeBlocksKubeBlocks Cloud CloudKubeBlocksKubeBlocks AddonsAddonsKubeBlocks通过抽象和分层管理数据库KubeBlocksKubeBlocks OperatorOperator实现实现Cl