1、京东云跨集群大规模应用管理实践JDCloud2024JDCloud云原生开发工程师JDCloud2024王晓飞优化人员简介目录京东云容器化发展历程01010303跨集群弹性伸缩0404总结联邦集群0202JDCloud202401京东云容器化发展历程京东云容器化发展历程京东容器化发展历程JDOS1.0围绕应用2014-20162019-2021最早实施最早实施大规模混合云容器集群全面容器化支持大促保障容器化最彻底业务应用,中间件,数据库,大数据,混部,AIJDOS2.0阿基米德调度精细化运营100%100%覆盖覆盖承载京东零售,物流,金融,健康,工业,保险等业务CNCF白金会员效率提升效率提升
2、实现多集群管理下的效率,成本,弹性的最优解混合云产品私有云,公有云一体化调度2022 至今云舰混合云操作系统产品联邦集群应用跨集群管理跨集群大规模弹性伸缩降低成本,提升容灾能力单集群困境 故障时爆炸半径过大,影响应用SLA。应用跨集群弹性伸缩存在难度,人工运维。一切围绕应用跨集群调度跨集群弹性伸缩 资源统一调度 多分组灵活调度策略 跨集群弹性伸缩 一键迁移集群故障影响增加人工运维应用迁移困难容灾和多活多活和高可用 应用多活 跨集群网络JDCloud202402联邦集群联邦集群产品化https:/ 云舰云舰基于基于KarmadaKarmada进行深度开发和增强进行深度开发和增强整体架构联邦集群子
3、集群弹性控制KarmadaControlPlaneFedKServiceFedScaleRecordAppTrafficSyncerETCD ClusterGlobal ProxyCustom Resource InterpreterKServiceControlleScalePolicyEngineScalePolicyEngineScaleOpenAPIScaleOpenAPIAPPSetControllerPodTrafficControllerScaleExecuterFedClusterAPIFedClusterControllerKServiceControllerAPPSetCo
4、ntrollerPodTrafficControllerScaleExecuterKServiceControllerAPPSetControllerPodTrafficControllerScaleExecuter联邦集群服务部署FedClusterManagerAPIFedClusterFedClusterControllerConfigAPIKarmada运行FedClusterController监听到FedCluster,按照Spec声明,在指定Kubernetes集群创建联邦集群ControlPlane。管理新建FedClusterManagerAPI处理用户创建联邦集群请求,和C
5、onfigAPI 服务交互,获取创建上下文和参数。创建FedCluster CR。FedClusterController监听FedCluster,声明Spec加入指定联邦集群,联邦集群开始管理来自多云的Kubernetes集群。KarmadaFedKService 控制器资源调度引擎Karmda副本计算引擎FedKServiceControllerKubernetes1:NKServiceController弹性计算控制器AppSet控制器DistributionStatus Sync基于Hippo服务,进行多集群资源精准测算,得出资源画像。资源调度引擎按照资源画像以及调度策略,进行副本多集
6、群拆分。副本计算引擎执行弹性策略,执行扩缩容计划。弹性计算控制器直接控制pod的工作负载AppSet控制器PODPODPOD联邦增强KService status sync解决KService status资源从子集群同步合并到联邦集群。StatefulSet起始序号在多集群控制在联邦集群使用StatefulSet和单Kubernetes集群序号控制行为相同。全局代理性能提升1.子集群查询时使用pb协议;2.从单独查询,修改为并发查询;3.存储过程优化,使得存取数据性能更高。4.性能提升30%Karmada scheduler增强调度支持GPU集群调度,支持异构集群调度。KarmadaStat