《kuaishous-100-resource-utilization-boost-100k-redis-migration-from-bare-metal-to-kubernetes-zha-100pian-zhi-yi-daeplie-hui-zhe-100k-rediskubernetes-xueqiang-wu-apecloud-yuxing-liu-kuaishou-1.pdf》由会员分享,可在线阅读,更多相关《kuaishous-100-resource-utilization-boost-100k-redis-migration-from-bare-metal-to-kubernetes-zha-100pian-zhi-yi-daeplie-hui-zhe-100k-rediskubernetes-xueqiang-wu-apecloud-yuxing-liu-kuaishou-1.pdf(25页珍藏版)》请在三个皮匠报告上搜索。
1、快手的 100%资源利用率提升:从裸机迁移 100K Redis 到 Kubernetes刘裕惺 快手 高级软件工程师吴学强 云猿生 研发总监|KubeBlocks 维护者关于我前阿里云 PolarDB-X 团队技术 TL开源版 PolarDB-X Maintainer阿里巴巴 2021 年度开源先锋人物目前是云猿生的研发总监、KubeBlocks Maintainer 对操作系统、分布式系统、数据库等多个领域感兴趣吴学强GitHub ID:free6om大纲 什么是 KubeBlocks KubeBlocks 解决了什么问题(单个 Redis 集群视角)多 Redis 集群和多 K8s 集群
2、(大规模视角)Q&A简介:什么是 KubeBlocks?支持 35 种数据库可通过 add-on APIs 扩展更多统一的 开发者&DevOps APIsKubeBlocks OperatorCluster ControllerComponent ControllerInstanceSet Controller.PodPVCConfigMapServiceSecretkbclikubectlArgo CDTerraform.什么是 KubeBlocks一个专为将数据库运行在 K8s 设计的 OperatorKubeBlocks Add-ons.ClusterComponentInstanceS
3、etInstanceDeveloper&DevOps APIsBackupRestoreOpsClusterDefintionComponentDefinition ComponentVersionAdd-on Provider APIsBackPolicyTemplateConfigConstraint支持数据库生命周期管理支持备份和恢复(包括PITR)已与 Prometheus 和 Grafana 集成更多特性单个 Redis 集群视角:KubeBlocks 解决了哪些问题从而让数据库更好的运行在 K8s 上?如何找到具备读写能力的 Pod如何知道并搭建正确的复制关系更新时如何尽量降低对服
4、务的影响。吞吐瓶颈单点故障数据丢失风险如何处理数据复制(Replication)在 K8s 上跑数据库是有非常挑战的StatefulSetpod-0pod-1pod-2ServiceDeploymentAppApp.?K8s:Horizontal ScalingDB:ReplicationButServiceStatefulSetpod-0pod-1pod-2DeploymentAppApp.StatefulSetpod-0ServiceDeploymentAppApp.一个通用的角色探测框架多种事件发送机制如何处理网络分区如何处理事件延迟角色周期性探测触发角色事件观测角色事件更新 Pod 角
5、色 Label如何处理数据复制(Replication)1.InstanceSet API2.每个 Pod 都有一个角色标签3.基于角色的 Service Selector4.基于角色的成员管理角色(Role):在有状态之上增加的一层新的抽象Serial,Parallel,BestEffortParallel计划内 switchover5.基于角色的更新策略pod-2role:slaveswitchoverpod-0role:slavepod-1role:masterswitchoverpod-2role:slavepod-0role:slavepod-1role:masterInstance
6、Setpod-0kbagentrole:slavepod-2kbagentrole:slavepod-1kbagentrole:masterService:ROselector:role=slaveService:RWselector:role=masterRTO 从分钟级降到秒级一个专为数据库设计的 Workload API与 StatefulSet类似,每个 Pod 都有固定的网络标识在这之上,增加一层角色抽象成员家人成员离开switchover如何实现高可用(HA)PodmutableimmutableAPI server managedInstancePVCsvolume expans