深入 Kubernetes 的无人区-蚂蚁金服双十一的调度系统
深入 Kubernetes 的“无人区” —— 蚂蚁金服双十一的调度系统 曹寅2/19 一、蚂蚁金服的Kubernetes现状 二、双十一Kubernetes实践 三、展望未来迎接挑战 目 录 contents 目录3/19 一、蚂蚁金服的Kubernetes现状 Part 1:4/19 发展历程与落地规模 Part 1:蚂蚁金服的Kubernetes现状 平台研发 灰度验证 Pods业务 6/19 统一资源调度架构 Part 1:蚂蚁金服的Kubernetes现状 非云 资源 云化 资源 基础 服务 蚂蚁 k8s 核心 CRI Kubernetes API Server 极速交付 分时复用 弹性容量 资源画像 规模化调度 高可用容灾 可视化 服务 Cluster Control Panel 在线应用 计算型混部任务 CSI CNI Device 资源分时调度 Part 2:双十一 Kubernetes 实践 快速腾挪的问题 1.实例上下线需要预热 2. 腾挪耗时不可控 3. 大规模腾挪的稳定性技术风险 9/19 资源分时链路切换 Part 2:资源分时调度 Kubernetes Node 分时调度 Agent Pod 资源 Node 分时调度 Agent Pod 资源 Node 分时调度 Agent0 码力 | 19 页 | 2.18 MB | 5 月前3Curve核心组件之mds – 网易数帆
MDS各组件详细介绍 Q&A基本架构 • 元数据节点 MDS 管理元数据信息 收集集群状态信息,自动调度 • 数据节点 Chunkserver 数据存储 副本一致性 • 客户端 Client 对元数据增删改查 对数据增删改查 • 快照克隆服务器MDS各个组件 MDS是中心节点,负责元数据管理、集群状态收集与调度。MDS包含以下几个部分: • Topology: 管理集群的 topo 元数据信息。 Copyset: 副本放置策略。 • Heartbeat: 心跳模块。跟chunkserver进行交互,收集chunkserver上的负载信息、 copyset信息等。 • Scheduler: 调度模块。用于自动容错和负载均衡。TOPOLOGY topology用于管理和组织机器,利用底层机器的放置、网络的规划以面向业务提供如下功能和非功能需求。 1. 故障域的隔离:比如副本的放置分布在不 TopoUpdater: 根据 chunkserver 上报的 copyset 信息更新拓扑 中的信息。 • ConfGenerator: 将当前上报的 copyset 信息提交给调度模块, 获取该 copyset 上可能需要执行的任务。 • HealthyChecker: 检查集群中的 chunkserver 在当前时间点距 离上一次心跳的时间,根据这个时间差更新chunkserver状态。 Chu0 码力 | 23 页 | 1.74 MB | 5 月前3TiDB中文技术文档
库分库分表等 Sharding 方案。同时它也 让开发运维人员不用关注数据库 Scale 的细节问题,专注于业务开发,极大的提升研发的生产力。 三篇文章了解 TiDB 技术内幕: 说存储 说计算 谈调度 TiDB 简介 TiDB 整体架构 README - 11 - 本文档使用 书栈(BookStack.CN) 构建 要深入了解 TiDB 的水平扩展和高可用特点,首先需要了解 TiDB 的整体架构。 F5)对外提供统一的接入地址。 Placement Driver (简称 PD) 是整个集群的管理模块,其主要工作有三个: 一是存储集群的元信息(某个 Key 存储在哪个 TiKV 节点);二是对 TiKV 集群进行调度和负载均衡(如数据的迁移、Raft group leader 的迁 移等);三是分配全局唯一且递增的事务 ID。 PD 是一个集群,需要部署奇数个节点,一般线上推荐至少部署 3 个节点。 TiKV Server 协议做复制,保持数据的一致性和容灾。副本以 Region 为单位进行管理,不同节点上的多个 Region 构成一个 Raft Group,互为副本。数据在多个 TiKV 之 间的负载均衡由 PD 调度,这里也是以 Region 为单位进行调度。 TiDB Server PD Server TiKV Server 核心特性 水平扩展 README - 12 - 本文档使用 书栈(BookStack.CN) 构建 无限水平扩展是0 码力 | 444 页 | 4.89 MB | 5 月前324-云原生中间件之道-高磊
我们从云原生数据库那里基本可以嗅出云原生对四大件的诉求性质了,所以这里我直接给出对云原生存储的要求 1. 敏捷化需求 • 云原生应用场景对服务的敏捷度、灵活性要求非常高,很多场景期望容器的快速启动、灵活的调度,这样即需要存储卷也能敏捷的根据 Pod 的变化而调整。 需求表现在: • 云盘挂载、卸载效率提高:可以灵活的将块设备在不同节点进行快速的挂载切换; • 存储设备问题自愈能力增强:提供 务带来的性能需求成为应用运行效率的关键瓶颈 具体需求: • 底层存储服务提供更加优异的存储性能服务,优化 CPFS、GPFS 等高性能存储服务满足业务需求; • 容器编排层面:优化存储调度能力,实现存储就近访问、数据分散存储等方式降低单个存储卷的访问压力。 4. 共享存储的隔离性 • 共享存储提供了多个 Pod 共享数据的能力,方便了不同应用对数据的统一管理、访问,但在多租的场景中,不同租户对存储的隔离性需求 较慢,对于集群负载的缓解,不够及时。 • 在离线分离部署及粗粒度调度无法提高资源的利用率:在传统Hadoop架构下,离线作业和在线作业往往分属不同的集 群,然而在线业务、流式作业具有明显的波峰波谷特性,在波谷时段,会有大量的资源处于闲置状态,造成资源的浪 费和成本的提升。在离线混部集群,通过动态调度削峰填谷,当在线集群的使用率处于波谷时段,将离线任务调度到 在线集群,可以显著的提高资源的利用率。然而,Hadoop0 码力 | 22 页 | 4.39 MB | 5 月前3CurveFS Copyset与FS对应关系
。metaserver需要定期通过心跳向mds上报自己的状态。mds一方面根据metaserver上报的状态,进行相应的调度;另一方面根据心跳确认metasever 的存活状态。 这块内容参考的curve。metaserver定时向mds上报心跳,心跳内容参考curve。调度上,如果采用类似chubaofs的方案,那么copyset就会一直处于一个不均衡的状态中。如果copyset是可readwrite状态,新创建的 copyset均衡调度器。根据集群中copyset的分布情况生成copyset迁移任务; LeaderScheduler: leader均衡调度器。根据集群中leader的分布情况生成leader变更任务; ReplicaScheduler: 副本数量调度器。根据当前copyset的副本数生成副本增删任务; RecoverScheduler: 恢复调度器。根据当前copyset副本的存活状态生成迁移任务。 结论:心跳参考curve。目前这些调度器在curvefs第一阶段不用全部实现。所有和均衡相关的,暂时不做。只做和故障处理相关的副本补全恢复的调度。 6、详细设计 6.1 创建fs curvefs管理工具发起创建fs命令,mds收到createfs命令之后,在mds插入的一条fs记录,状态为NEW。然后为fs创建copyset,默认为3个。mds调用topology的接口找到3个可用的copyset,如果没有足够可用的cop0 码力 | 19 页 | 383.29 KB | 5 月前3Curve核心组件之snapshotclone
02 03 04 快照和克隆的特点 快照克隆服务器架构 快照的实现 05 克隆的实现CURVE基本架构 • 元数据节点 MDS • 管理和存储元数据信息 • 感知集群状态,合理调度 • 数据节点 Chunkserver • 数据存储 • 副本一致性,raft • 客户端 Client • 对元数据增删改查 • 对数据增删改查 • 快照克隆服务器 • 快照 • 增量转储,第一次全量转储s3之后,后续只需转储增量部分 • 高可用,快照任务中断自动拉起继续转储快照和克隆的特点 • 克隆的定义 • 克隆是指从卷复制出卷的功能,提供快速的复制卷的能力。 • 这里的克隆还包括从快照回滚的功能 • 克隆的特点 • 支持Lazy和非Lazy两种模式克隆 • 支持从快照克隆和从镜像(卷)克隆 • 支持从快照回滚 • 高可用,克隆任务中断自动拉起继续克隆快照克隆服务器架构 • 基于brpc提供restful Serivce层面区分上层请求为同步接口调用,还是异步接口调用, 同步接口调用直接调用Core层接口实现功能,异步接口创建Task, 并交由TaskManager调度。 SnapshotService & CloneService: • 任务管理层负责调度SnapshotTask和CloneTask,并向上提供如 cancel task等功能。 SnapshotTaskManager & CloneTaskManager:0 码力 | 23 页 | 1.32 MB | 5 月前336-云原生监控体系建设-秦晓辉
的耗时分布,histogram类型,按 照 url + verb 统计 • workqueue_adds_total 各个 controller 已处理的任务总数 • workqueue_depth 各个 controller 的队列深度,表示一个 controller 中的任务的数量,值越大表示越繁忙 • process_cpu_seconds_total 进程使用的CPU时间的总量,rate 之后就是 CPU 使用率 Kubernetes控制面 scheduler的监控 • scheduler 通过 /metrics 接口暴露监控数据,直接拉取即 可 • scheduler 在 Kubernetes 架构中,是负责调度对象到合 适的node上,会有一系列的规则计算和筛选。重点关注调 度这个动作的相关指标 • 采集方式可以参考 categraf 仓库的 k8s/deployment.yaml,大盘可以参考 k8s/scheduler- econds 调度框架的扩展点延迟分布,按 extension_point 统计 • scheduler_pending_pods 调度 pending 的 pod 数量,按照 queue type 分别统计 • scheduler_schedule_attempts_total 按照调度结果统计的调度重试次数。 “unschedulable” 表示 无法调度,“error” 表示调度器内部错误 Kubernetes控制面0 码力 | 32 页 | 3.27 MB | 5 月前3【周鸿祎清华演讲】DeepSeek给我们带来的创业机会-360周鸿祎-202502
冷轧/镀锌 调度 营销 排产 2· 铁前 3· 炼铁 4· 炼钢 5· 轧钢 6· 销售 物 理 工 序 模 型 导 图 原料 废钢 烧结 球团 焦化 炼铁 炼钢 精炼 连铸 热轧 冷轧 销售 • 料场环境实时监控 • 人员越界安全监测 • 回转窑窑况智能分 析 • 原料无人天车吊装 控制 • 生产现场运输状态 监控 • 现场路线智能调度 • 智能化能源调度 • 料场智能调度 料场智能调度 • 燃料水分视觉分析 • 多角度废钢图像 采集 • 废钢智能定级 • 杂质识别 & 扣杂 • 废钢槽编号识别 • 多角度废钢图像采集 • 废钢智能定级 • 杂质识别 & 扣杂 • 废钢槽编号识别 • 皮带胶结头异常检测 • 皮带跑偏检测 • 烧结皮带跑偏检测 • 皮带托辊异常检测 • 分析监测烧结工序物料 成分 • 烧结皮带智能监测 • 烧结设备运行工况检测 • 料场生产计划智能配置 高炉燃料比监测 • 高炉精准出铁预测 • 高炉炉况诊断 • 高炉燎铁能耗预测 • 高炉在含量智能预监 • 铁包动态调度算法(铁包 跟踪) • 烟气余热回收控制 • 部署工艺模型分析诊断 • 能源诊断分析 • 建设质量工艺动态设计 优化 • 堆堵料异常检测 • 炼铁原料混匀过程调度 优化 • 风机风压参数实时捕捉 和分析检验 • ·计算最佳工艺参数 • 炼钢工序物料属性检测 • ·精炼钢水温度连续测量0 码力 | 76 页 | 5.02 MB | 5 月前3Curve核心组件之Client - 网易数帆
03 04 Client总体介绍 热升级NEBD总体介绍 新版本Client/NEBD性能优化CURVE基本架构 • 元数据节点 MDS • 管理和存储元数据信息 • 感知集群状态,合理调度 • 数据节点 Chunkserver • 数据存储 • 副本一致性,raft • 客户端 Client • 对元数据增删改查 • 对数据增删改查 • 快照克隆服务器CURVE基本架构 将请求发往leader节点CLIENT IO线程模型 用户线程 1. 用户调用接口,发起IO请求 2. AioWrite将请求封装成io task并放入任务队列 3. 放入任务队列后,异步请求发起成功,返回用户 IO拆分线程 4. 从任务队列取出任务后进行拆分 5. 拆分过程依赖元数据,可能会通过MDSClient向 MDS获取 6. 拆分成的子请求放入队列CLIENT IO线程模型 IO分发线程0 码力 | 27 页 | 1.57 MB | 5 月前3BRPC与UCX集成指南
1 用UCX实现BRPC对RDMA的支持 徐逸锋2 BRPC简介 ●BRPC是Curve的基础通讯框架 ●支持远程过程调用 –C++ –TCP传输 –bthread协程(m:n调度,减少基于内核的下文切换 ,减少cache miss) ●多协议支持 –baidu_std,http,grpc… ●protobuf3 BRPC简介 ●Client/Server架构 ●使用Protobuf定义协议文件 ●通过ucp_worker_get_efd(*ucp_worker, efd)获得轮询文件句柄 ●调用poll(efd)等待有任务执行,然后再调用ucp_worker_progress() ●/dev/cpu_dma_latency 禁止power-saving模式 ●由于rdma速度很快,内核调度时延对性能影响很大。关键应用应开启busy poll。323334 BRPC怎么指定使用UCX?35 修改 BRPC0 码力 | 66 页 | 16.29 MB | 5 月前3
共 42 条
- 1
- 2
- 3
- 4
- 5