kubernetes负载感知调度
背景
kubernetes 的原生调度器只能通过资源请求来调度 pod,这很容易造成一系列负载不均的问题, 并且很多情况下业务方都是超额申请资源,因此在原生调度器时代我们针对业务的特性以及评估等级来设置 Requests/Limit 比例来提升资源利用效率。 在这种场景下依然存在很多问题:
- 节点负载不均:原生 Kubernetes Scheduler 根据 Requests 和节点可分配总量来调度 Pod,既不考虑实时负载,也不估计使用量,这种纯静态的调度导致节点资源利用率分配不均。 在流量波动性业务的场景下,在流量高峰时,部分节点利用率突破安全阈值,但是很多节点的利用率特别点,节点利用率相差特别大
- 业务周期性:在离线集群分离,在线集群底峰存在巨大资源浪费
本文主要讨论如果解决问题一,在线集群内部提升资源利用率
在线集群 Cpu 离散系数0.45,整个集群高峰时 Cpu 利用率仅25%左右;下图 Cpu 使用率离散图:

破局
基于上述情况,高峰时 Cpu 利用率仅25%肯定不是合理的情况,业界做的好的50%+。想要继续提升利用率,必须解决节点负载不均问题:
- 感知节点真实负载:要解决节点负载不均问题,必须要上报节点当前真实的负载
- 基于负载的正向调度插件:在默认调度器的基础上增加基于负载的调度插件,在正向调度是尽量保证节点间水位平均
- 基于负载的重调度组件:当业务不断波动,节点可能会因为应用负载变化导致节点负载出现差别,需要重调度迁移 Pod 重新达到平均
实践
关注的两个开源项目:
Koordinator: https://koordinator.sh/
Crane: https://gocrane.io/
相对于 Koordinator 专门为混部而生的软件,Crane以 Finops 为出发点,二者相比Koordinator更适合我们,在离线混部也是下一步计划。
调研测试
上线之后: 
遇到的问题
- 热点节点问题:在业务高峰时,节点负载变高,会出现热点节点,这个时候需要重调度组件介入,把 Pod 重新调度到其他节点上
需要前置打散热点节点,这就需要对应用进行资源画像,在调度中分散这种类型的应用,避免业务高峰热点节点的产生 2. 在1中的情况下,扩容部分节点缓解集群压力时,新上的节点会迅速被热点Pod占满,导致节点负载升高,再次触发重调度
调整调度插件中负载均衡打分插件的权重,让节点负载更均衡,避免热点节点问题 3. 找到合适的节点规格,小规格节点,更容器出现热点节点
在我们的业务场景下下,当前来看48c节点热点节点出现几率小于32c
本文由博客一文多发平台 OpenWrite 发布!
相关文章:
kubernetes负载感知调度
背景 kubernetes 的原生调度器只能通过资源请求来调度 pod,这很容易造成一系列负载不均的问题, 并且很多情况下业务方都是超额申请资源,因此在原生调度器时代我们针对业务的特性以及评估等级来设置 Requests/Limit 比例来提升资源利用效率。…...
Lock使用及效率分析(C#)
针对无Lock、Lock、ReadWriterLock、ReadWriterLockSlim四种方式,测试在连续写的情况下,读取的效率(原子操作Interlocked由于使用针对int,double等修改的地方特别多,而且使用范围受限,所以本文章没有测试) …...
安卓三防平板在行业应用中有哪些优势
在工业维修和检测中,安卓三防平板的应用也十分广泛。它可以搭载各种专业软件和工具,帮助工人们进行设备故障排查和维护,降低了维修成本和停机时间。 一、产品卖点: 1. 防水性能:该手持平板采用了防水设计,…...
2015架构真题(五十)
供应链中信息流覆盖了供应商、制造商和分销商,信息流分为需求信息流和供应信息流,()属于需求信息流,()属于供应信息流。 库存记录生产计划商品入库单提货发运单 客户订单采购合同完工报告单销售…...
VScode Invoke-Expression: 无法将参数绑定到参数“Command”,因为该参数为空字符串
打开vscode时发生错误:Invoke-Expression : 无法将参数绑定到参数“Command”,因为该参数为空字符串。 解决办法:在anaconda prompt base中输入: conda upgrade -n base -c defaults --override-channels conda...
【图像融合】差异的高斯:一种简单有效的通用图像融合方法[用于融合红外和可见光图像、多焦点图像、多模态医学图像和多曝光图像](Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
“Python+”集成技术高光谱遥感数据处理与机器学习深度应用丨高光谱数据预处理-机器学习-深度学习-图像分类-参数回归等12个专题
目录 第一章 高光谱数据处理基础 第二章 高光谱开发基础(Python) 第三章 高光谱机器学习技术(python) 第四章 典型案例操作实践 更多应用 本教程提供一套基于Python编程工具的高光谱数据处理方法和应用案例。 涵盖高光谱遥感…...
C语言_用于ADC数据的均值滤波算法
C语言_用于ADC数据的均值滤波算法 说明: 在采集ADC值的时候一般都是多次采集然后,然后取平均值,改进型做法就是去掉最大最小值剩下的再取平均值 unsigned short average(unsigned short arr[], unsigned char size) {unsigned int sum 0;for…...
【Rust基础②】流程控制、模式匹配
文章目录 4 流程控制4.1 if else表达式4.2 循环控制4.2.1 for循环4.2.2 while循环4.2.3 loop循环 5 模式匹配5.1 match和if let5.1.1 match匹配使用match表达式赋值模式绑定_通配符 5.1.2 if let 匹配5.1.3 matches! 宏 5.2 解构Option5.3 认识模式match 分支if let 分支while …...
Qt出现假死冻结现象
应用程序出现假死或冻结现象通常是由于一些常见问题所导致的。下面是一些可能的原因和解决方法: 长时间运行的任务在主线程中执行: 如果您在主线程中执行了长时间运行的任务,如文件操作、网络请求或复杂的计算,这可能导致应用程序…...
XML外部实体注入攻击XXE
xml是扩展性标记语言,来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素,一般无法直接打开,可以选择用excl或记事本打…...
Hudi第三章:集成Flink
系列文章目录 Hudi第一章:编译安装 Hudi第二章:集成Spark Hudi第二章:集成Spark(二) Hudi第三章:集成Flink 文章目录 系列文章目录前言一、环境准备1.上传并解压2.修改配置文件3.拷贝jar包4.启动sql-client1.启动hadoop2.启动ses…...
MTC证书|欧盟与英国金属类产品清关新要求
从10月1日起,欧盟海关将严格检查所有申报HS代码为7323、7326等含有金属的货物,所有进口国家的金属相关产品必须提供MTC证书,证明产品材料的来源并非源自俄罗斯。 对于未使用7323、7326等含有金属类的HS编码申报,且品名未明显体现…...
保护敏感数据的艺术:数据安全指南
多年来,工程和技术迅速转型,生成和处理了大量需要保护的数据,因为网络攻击和违规的风险很高。为了保护企业数据,组织必须采取主动的数据安全方法,了解保护数据的最佳实践,并使用必要的工具和平台来实现数据…...
Commonjs与ES Module
commonjs 1 commonjs 实现原理 commonjs每个模块文件上存在 module,exports,require三个变量,然而这三个变量是没有被定义的,但是我们可以在 Commonjs 规范下每一个 js 模块上直接使用它们。在 nodejs 中还存在 __filename 和 __dirname 变…...
分布式对象存储
参考《分布式对象存储----原理、架构以及Go语言实现》(作者:胡世杰) 对象存储简介 数据的管理方式 以对象的方式管理数据,一个对象包括:对象的数据、对象的元数据、对象的全局唯一标识符 访问数据的方式 可扩展的分…...
跨境独立站代购中国电商平台商品PHP多语言多货币
跨境独立站代购中国电商平台商品是指代购者在海外建立自己的独立电商平台,代理中国主流电商平台(如淘宝、京东等)的商品进行销售和代购。这种模式的优势在于代购者可以自主选择产品和价格策略,同时还能提供更专业和优质的服务。 …...
Python接口自动化 —— Json 数据处理实战(详解)
简介 上一篇说了关于json数据处理,是为了断言方便,这篇就带各位小伙伴实战一下。首先捋一下思路,然后根据思路一步一步的去实现和实战,不要一开始就盲目的动手和无头苍蝇一样到处乱撞,撞得头破血流后而放弃了。不仅什么…...
微信页面公众号页面 安全键盘收起后页面空白
微信浏览器打开H5页面和公众号页面,输入密码时调起安全键盘,键盘收起后 键盘下方页面留白 解决办法: 1、(简单)只有在调起安全键盘(输入密码)的时候会出现这种情况,将input属性改为n…...
数据结构 - 二叉树
递归实现前中后序遍历 #include<stdio.h> #include<stdlib.h>#define TElemType inttypedef struct BiTNode{TElemType data;struct BiTNode *lchild,*rchild; }BiTNode,*BiTree; BiTNode root;void visit(TElemType& e){printf("%d",e); }void Pre…...
AI赋能51单片机开发:让快马平台智能生成复杂避障算法代码
最近在做一个基于51单片机的智能小车项目,需要实现复杂的避障功能。传统开发方式需要手动编写大量底层代码,调试起来特别耗时。不过这次尝试用InsCode(快马)平台的AI辅助功能,整个过程顺利了很多。 需求分析阶段 首先需要明确小车的核心功能&…...
如何突破思维导图协作瓶颈?云端协同与知识管理新方案
如何突破思维导图协作瓶颈?云端协同与知识管理新方案 【免费下载链接】kityminder 百度脑图 项目地址: https://gitcode.com/gh_mirrors/ki/kityminder 在数字化办公环境中,思维导图作为梳理思路、规划项目的重要工具,其价值已得到广泛…...
Cursor Pro功能解锁全攻略:从免费版到专业体验的完整指南
Cursor Pro功能解锁全攻略:从免费版到专业体验的完整指南 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your …...
PDF-Parser-1.0行业报告:市场分析与技术趋势
PDF-Parser-1.0行业报告:市场分析与技术趋势 1. 引言 每天都有成千上万份行业报告、白皮书和研究文档以PDF格式在企业间流转。这些文档蕴含着宝贵的市场洞察、技术趋势和商业机会,但手动提取和分析这些信息需要耗费大量时间和精力。PDF-Parser-1.0的出…...
Cogito v1预览版3B模型实战体验:超越Llama/DeepSeek的混合推理能力
Cogito v1预览版3B模型实战体验:超越Llama/DeepSeek的混合推理能力 1. 模型概览与核心优势 1.1 什么是Cogito v1预览版 Cogito v1预览版是Deep Cogito推出的混合推理模型系列,这个3B参数的版本在多项基准测试中表现优异。与传统的语言模型不同&#x…...
Git-RSCLIP真实场景测试:城市新区地物分类,住宅区识别效果惊艳
Git-RSCLIP真实场景测试:城市新区地物分类,住宅区识别效果惊艳 1. 模型背景与核心能力 Git-RSCLIP是北航团队基于SigLIP架构专门开发的遥感图像理解模型,在1000万对遥感图文数据集(Git-10M)上进行了深度预训练。与通用视觉模型不同…...
5分钟搞定DeepSeek API调用:从Postman测试到手机Siri集成全流程
5分钟搞定DeepSeek API调用:从Postman测试到手机Siri集成全流程 在当今快节奏的开发环境中,能够快速集成AI能力已经成为提升工作效率的关键。DeepSeek API作为新一代AI服务接口,以其简洁的调用方式和强大的功能吸引了众多开发者的关注。本文将…...
图图的嗨丝造相-Z-Image-Turbo保姆级教学:提示词中‘蓝色校服’‘黑色低帮鞋’等实体关联
图图的嗨丝造相-Z-Image-Turbo保姆级教学:提示词中‘蓝色校服’‘黑色低帮鞋’等实体关联 你是不是也遇到过这种情况:想用AI生成一张特定风格的图片,比如一个穿着蓝色校服、黑色低帮鞋,搭配渔网袜的校园少女,但写出来…...
Zotero Citation插件开发指南:从环境适配到定制优化的全流程实践
Zotero Citation插件开发指南:从环境适配到定制优化的全流程实践 【免费下载链接】zotero-citation Make Zoteros citation in Word easier and clearer. 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-citation 问题发现:学术写作中的引用…...
Graphormer图神经网络效果展示:含手性中心/立体异构体分子的预测能力验证
Graphormer图神经网络效果展示:含手性中心/立体异构体分子的预测能力验证 1. 模型概述 Graphormer是一种基于纯Transformer架构的图神经网络,专门为分子图(原子-键结构)的全局结构建模与属性预测而设计。该模型在OGB(…...
