专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

兴盛优选云原生降本增效实践k8s多方向拓展

  1。前言
  近年,云原生技术得到了快速发展和广泛应用,兴盛优选云原生团队及时拥抱变化,基于云原生实现了多云平台(简称:星斗云),做了很多业务场景落地的实践,并帮助公司实现了非常不错的降本增效,本文将重点将星斗云遇到的大大小小问题与挑战,及对应优雅解决方案一并呈现给大家。2。背景
  随着业务方容器化改造越来越深入,星斗云将多套集群做了合并管理,集群的规模变得非常大,遇到的问题也越来越棘手,其中我们以降本增效为导向,聚焦收敛后,整理了一些代表性问题,如下:
  图示说明:
  1。残退复用:公司运转多年,存在不少老旧机器、待退役机器或三无组装机,如何通过法力无边的云原生技术纳管复用?
  2。稳定保障:星斗云除了支持无状态业务部署外,还为业务提供了非常多的有状态组件(如:ceph、kafka、es、hbase、rocketmq、redis等)部署管理,因上面提到的老旧残退机器时不时会出现故障,引起响应的有状态服务大受影响,故亟需做好稳定性保障?
  3。耗用管控:业务做容器化改造期间,暂未限制预算与使用,业务服务部署时,资源耗用鲜少评估,也无限制,造成大手大脚,如何管控?
  4。资源挖掘:资源利用再利用,公司总希望每一分成本都花在刀刃上,采购一台机器几十万,如何尽可能深入挖掘,高效利用?
  5。闲置回收:业务每天开发、测试发版成千上万次,每天生成很多增量镜像,需对镜像仓库老旧镜像清理;另外,部分业务或组件缩容后,PVPVC许久未用,怎么回收?如何自动智能,一劳永逸?
  针对上述各类问题,我们做了深刻地思考和实践性的解决方案,且听娓娓道来。3。实践
  3。1node超卖
  node资源超卖是当前业界通用的资源挖掘方式,通过超卖技术,实现每个node尽可能多的运行服务,提高资源利用率,最大限度的挖掘机器的性能,目前星斗云基于160核1T配置的Dell物理母机,实现了800的超卖率,为实现降本做出了非常大的共享。
  3。1。1超卖方案
  流程说明:
  1。kubelet通过apiserver上报node资源信息。
  2。上报请求达到apiserver后,对上报请求做认证和鉴权。
  3。认证鉴权通过后,将通过validating和mutating验证,在mutating阶段将会调用我们webhookserver,做资源信息改写。
  4。资源改写后,经apiserver落入etcd,实现超卖管理。
  核心原理主要是实现一个webhookserver,通过mutatingwebhook劫持node上报的资源信息,然后按指定的系数改写后落入etcd,供后续scheduler调度使用。
  3。1。2超卖方式
  针对不同场景,我们实现了两种超卖方式:固定比例和指定系数。
  固定比例:内存不超卖,将cpu按memcpu的设置比例超卖,如:母机原配置mem1T内存、cpu160核,默认比例为6,若我们设置超卖比例为4,则node可用调度资源调整为1T、250核,反之,若设置超卖比例为8,低于实际母机配置,则不超卖。
  指定系数:cpu和mem设置指定的系数进行超卖,默认系数均为1即不超卖,且低于1的设置无效,如:母机原配置mem1T内存、cpu160核,设置cpu超卖系数为2。0,mem超卖系数为1。2,则超卖出的cpu为320核,mem为1。2T内存。
  3。2自定义HPA
  3。2。1原生HPA
  原生的HPA已经比较强大了,能实现多指标、冷却窗口等能力,但在具体业务场景实践中还是稍有欠缺,具体问题如下:无用耗时:每15秒的计算周期,无法满足超大突发场景下秒级甚至ms级响应需求。缺少并发:从队列里获取多个HPA对象,处理完一个再轮到下一个,若同一时刻,业务请求导致微服务调用链上下游均高负载,缺少并发处理能力,无法满足场景需求。指标滞后:通过获取metrics,prometheus周期性抓取、聚合再做计算,每一个流程都是耗时,时效已经偏低,无法做到实时响应,对于电商突发性高负载,太滞后。事件驱动:原生HPA都是事后的处理,即流量突发已成事实,缺少对事前预警性的场景满足,需要类似于KEDA一样的被动感知或事件驱动。零副本:原生HPA暂未支持零副本能力,对于离线计算业务,场景需求明确。
  3。2。2SophonHPA
  经过长期需求对接和充分的业界方案调研发现,目前暂无符合我们应用场景的开源HPA方案,故我们重新设计了SophonHPA,方案架构图如下:
  图示架构说明:
  SophonHPA为Operator,支持自定义CRD以controller方式实现HPA逻辑,同时兼容原生能力。
  SophonHPA将HPA拆分为控制面(controller)和执行体(executor),相互独立运行,以保持架构的稳定性及容灾能力,即使其中某个挂掉,HPA功能继续运作,不会造成大面积瘫痪。
  controller多副本,支持选举,主要实现针对CRD的Reconcile逻辑,作为控制管理,一旦发现新增CR,创建一个robot实现针对指定workload的HPA专属护航。
  robot即executor主要负责每个CR指定workload的HPA实现,以独立pod方式运行,即1个CR会生成1个executorpod,该executor通过直接调用度量系统API获取实时指标或通过apiserver的apiservice方式获取缓存指标,来判断触发HPA逻辑,过程和原生类似,支持冷却窗口,支持多指标综合等能力。
  为尽可能保证实时性,指标获取方式拓展支持实时拉取prometheus或其他自定义监控系统指标,以抽象接口方式实现,executor通过不断循环拉取的方式,保证指标的实时更新,实现弹性伸缩的实时感知与触发。
  图示流程说明:
  1。用户设置customizeHPA即SophonHPA,生成CR并下发。
  2。CR通过apiserver写入etcd。
  3。operator监听到CR新增事件,触发Reconcile逻辑。
  4。用户每新增部署一个CR,新建一个robot即executor,以pod方式运行,跟随用户CR指定workload,一对一保障其HPA能力。
  5。executor以聚合指标接口的方式,从不同的后端获取指标。
  6。executor内的Calculator通过获取的指标,根据指定的策略,决策是否做弹性伸缩。
  7。executor内的Calculator计算达到触发条件,触发弹性伸缩。
  8。executor内的scaler执行对指定workload的弹性伸缩,并通过实现冷却窗口和控制扩缩步伐,保证扩缩节奏。
  9。executor内的scaler执行完扩缩后,将状态同步记录到CR中。
  3。3优先级管理
  业务有重点、非重点之分,有在线、离线之别,我们对于业务做了细分差异处理,即分级管理。
  3。3。1业务分级
  业务按重要程度从高到低依次分为P0P5共6个等级:
  P0:绝对核心业务、公司级平台服务,如:电商、物流等核心业务,ceph存储,网关等
  P1:核心支撑系统,如:能效平台、星斗云组件等
  P2:重要业务、集群核心组件,如:prometheus,日志平台、镜像仓库等
  P3:测试通用通用中间件,非核心通用业务,如:redis、kafka、hbase等
  P4:开发测试业务
  P5:离线计算业务
  3。3。2QOS策略
  我们针对不同级别的业务,会做不同级别的QOS策略保障及资源管控,其中不同的级别对应不同的QOS策略即(Guaranteed、Burstable、BestEffort):
  1。P0:绝对核心业务,QOS为Guarranteed模式,即request和limits的cpu、memory都一样,示例:
  a。pod需求评估是4核8G,实际部署时,request和limits都设置成4核8G,即:
  2。P1:memory不允许弹性,cpu弹性范围为实际cpu需求的122倍,QOS为Burstable模式,即request和limits下mem一样,limits的cpu为requests的116倍,示例如下:
  a。pod需求评估是4核8G,实际部署时,request的cpu、memory设置成2核8G,limits设置为8核8G,即:
  3。P2:memory不允许弹性,cpu弹性范围为实际cpu需求的144倍,QOS为Burstable模式,即request和limits下mem一样,limits的cpu为requests的116倍,示例如下:
  a。pod需求评估是4核8G,实际部署时,request的cpu、memory设置成1核8G,limits设置为16核8G,即:
  4。P3:memory不允许弹性,cpu弹性范围为实际cpu需求的148倍,QOS为Burstable模式,示例如下:
  a。pod需求评估是4核8G,实际部署时,request的cpu、memory设置成1核8G,limits设置为32核8G,即:
  5。P4:cpu、memory均允许弹性,memory弹性范围为实际的122倍,cpu弹性范围为实际cpu的148倍,QOS为Burstable模式,即request和limits下mem一样,limits的cpu为requests的116倍,示例如下:
  a。pod需求评估是4核8G,实际部署时,request的cpu、memory设置成1核8G,limits设置为16核16G,即:
  6。P5:cpu、memory均不设置,默认BestEffort模式,随时可以销毁回收同node超卖实现机制一样,通过mutatingwebhookserver劫持用户部署的workload,改写resource配置,从而实现不同等级的QOS管控,并做到了较大程度的资源复用,提高了整体负载弹性。
  3。4重点加固
  服务器有好、坏之异,业务有绝对核心,要求不可中断,作为平台方,务必重点保障核心业务稳定性,同时尽可能做到容灾高可用,降低风险:
  3。4。1TaintToleration
  对重点母机打Taint方式,只允许带对应Toleration的pod调度到该机器,保障该母机容量同时,避免其他非核心服务的过度占用,以致相互干扰。
  3。4。2亲和性
  对于重点业务服务,我们会通过设置NodeSelector和NodeAffinity,设置到指定node的调度亲和性,使其能调度到性能更佳、配置更好的母机上去,保证其稳定可靠运行。
  3。4。3打散
  核心组件都会做分布式打散部署,常用如:Redis、Kafka、RocketMq、Hbase等,当然还有很多核心业务,也会根据需求做同样的配置管理,打散主要通过反亲和性的方式实现。
  3。4。4抢占
  业务做了分级管理,高优先级的业务,必须高优先级保障,通过设置抢占策略,可以对pod部署调度过程做出绝对保障,当资源紧张或某些机器异常时,可以优先保证高优先级的业务服务运行。
  3。5在离线混布
  计算资源的深度挖掘,除了超卖以外,就是混布,超卖有其场景限制,超卖容易导致母机整体负载过高,影响业务服务的稳定性,在、离线则不一样,在利用率波谷期,可以完美搭配在线业务体系,实现业务空窗期资源利用填谷的效果,业界共识当然,方向有了,实践效果就取决于管理系统的优劣了,好的离线业务调度管理系统,可以高效的实现离线计算服务高峰下线、低谷运行的目标,基于此我们从以下三个点做了思考、设计及实践。
  3。5。1分级管理
  在已有的分级策略中,离线计算业务默认按最低等级P6部署,即BestEffort模式,随时可以中断,在常规场景中,离线计算业务作为最低优先级的服务,混布过程中,即使影响到现网业务,遇到异常情况也会最先被处理,比如:内存占用过多,该类型服务会先触发oom,资源抢占情况下,最先驱逐的也是该类服务,所以分级QOS策略能帮我们实现影响收敛。
  3。5。2CronHPA
  有了业务分级QOS管理体系后,我们再通过构建CronHPA的能力,实现定期调度部署任务能力,兴盛业务有明显的高峰、低谷期,周期性很强,夜间电商业务成交冻结,资源都浪费了,我们的离线作业系统,完全可以通过CronHPA的方式,定时扩缩容,如:晚上11:00开始拉起离线作业任务,早上7:00停掉。
  3。5。3调度系统
  CronHPA的效果还是相对太大佬粗,一点也不柔和,对过程中的异常处理也不及时,无法根据实时情况,做出响应策略,比如:某台母机突发异常,负载过高,影响在线业务服务响应,就需要有对应的管理系统感知,并停掉对应node上的离线计算服务,此时,一套更全面的离线业务调度管理系统即应运而生。
  图示说明:
  离线计算作业调度系统共分两套核心流程,图中分别用橙色和蓝色流程给出。
  图示橙色流程为支持作业的调度发布及状态同步管理,负责离线计算业务的定时或实时调度、部署、回收等管理,以及运行过程中的作业状态管理。
  图示蓝色流程为动态调谐流程,负责服务运行中感知周边系统状态,如:node负载、业务预警、集群巡检异常通知等信息,通过感知这些信息,动态调整运行中的作业,将作业pod做迁移、伸缩,或规避指定node等操作,保障现网业务稳定。
  3。6智能清理
  存储资源的回收管理,通过自动化、智能化的方式实现,达成成本管控目标前提下,做到非人工参与。
  3。6。1镜像仓库
  业务每天发布几千次,各种镜像数据,如果缺少合理的清理策略,时间久了多大的空间都会被打满,容易导致镜像上传失败或下载效率低harbor镜像仓库支持设置清理策略,并自动执行,但实践中,无论我们怎么设置,如:保留每个镜像最近20个版本、保留最近1个月的镜像,都无法满足需求,经常会出现策略不合理,使得现网在运行服务镜像被清理,导致该服务pod异常重建或扩容时失败,引起事故,所以我们花了很大精力思考如何做到精准清理,实现一劳永逸,最终经过多番探讨和论证,提出了如下方案:
  3。6。2持久存储
  业务经常会扩缩容,部分业务会使用持久存储,经常缩容后残留很多pv未清理,基于此我们会考虑如何做好清理,并且关键是不能把业务在用或待用的清理掉,以免导致数据丢失,引起业务故障,清理很简单,但要做到顾全周到,就有很多细节需要把控。
  3。7配额管理
  业务总是觉得自己的服务很重要,需要足够资源保证使用,所以经常会分配过多的资源,导致占用膨胀以致浪费,我们会对其使用的计算资源做合理管控,管控策略即限额和弹性,流程包括实时统计、限额预警和弹性借调。
  3。7。1实时统计
  集群中会运行一套Controller用于计算实时资源消耗情况,并按小时为周期做流水记录和统计,统计单位为CPU核小时或内存G小时,配额也是同样的单位,比如:A业务部署了多个实例,累计共10核20G配置使用,每隔1小时,会计算生成20核小时的消耗流水记录,并落入到数据库。
  3。7。2限额预警
  实时流水生成后,星斗云会根据流水记录做统计计算,并与业务配额做比对,按指定条件触发预警,如:当业务资源使用达配额60时,发送邮件预警,当达到80时企业微信告警,当达到90时短信告警,超过100时电话告警。
  图示说明:
  1。ReportGenerater从数据库获取数据统计,并计算是否达到预警限额。
  2。ReportGenerater将触发指定的预警发送到消息队列。
  3。ReportPusher从消息队列消费,按指定等级推送预警信息。
  3。7。3弹性借调
  顾名思义,弹性借调即根据业务的使用情况动态调整其预算额度,部分业务因持续增长,会导致配额吃紧,相反,部分业务可能因预算评估过高,导致配额冗余,或不同业务波峰波谷错开,可以配额互惠,具体实践则是对指定业务打标,然后按业务树,由下往上借调,如:
  1。业务树结构为ABC,A是一级业务,B为二级业务,C是三级业务。
  2。将C标记为核心业务,可做配额借调,若C的配额耗尽,则会从C上层业务B的范围做借调,即二级业务B下属的可用额度,借调到C业务上。
  3。若二级业务B范围内额度不够,则继续往上借调。
  4。若A范围内也不够,则告警通知增加配额。4。展望
  通过以上述技术实践,我们沉淀了很多经验和能力,在往后的降本增效路上,还会有更多的云原生技术方向延伸,比如:通过ebpf、NUMA调度等机器性能挖掘技术,及大数据、AI等云原生技术结合方向探索,实现更好地降本增效技术落地,帮助业务更快发展受限于业务形态及发展规模,当前我们在离线混布、大数据、人工智能等云原生技术结合方向尚浅,后续随着业务的持续发展,我们将会投入更多相关实践,期望在高性能计算方向沉淀出更多技术结晶。5。总结
  兴盛优选当前业务稳健发展,为了迎接未来可能会大规模业务增长,我们做了很多技术实践和探索,为未来即将到来的挑战做好准备,希望借助云原生技术的东风,助力业务更好的发展,本文着重将过程中以降本增效为方向的沉淀做了整理归纳,其中涉及超卖、调度、弹性、管控等多方面技术点,希望可以通过此次分享,帮助业界伙伴们提供一些思路和方法参考。

女足赢了,男足与女足的差距到底在哪?女子足球走的是大众路线,个人收入符合国情,不断绽放的铿锵玫瑰,精神风貌与民族精神吻合。男子足球走的是资本路线,脱离国情,异化为贵族化金钱挂帅,在球场上奔跑的是行尸走肉,球员的精神风维生素E真的能缓解肌肤干燥,延缓皮肤衰老吗?有什么科学依据?答案是肯定的,而且效果非常好!简介维生素E维生素E,也称作生育酚,是一种脂溶性维生素,是高效抗氧化剂。维生素E能够缓解皮肤干燥的科学依据A维生素E能够维护肌肤真皮层中的弹力网状结构细高跟鞋土气吗?细跟高跟鞋是非常漂亮的,只要选对款式可以跟任何衣服搭配。因为穿高跟鞋可以让女人凹凸有致,身形体型更漂亮。回头率更高更有自信。细跟高跟鞋是很多人的首选,女人非常爱美。高跟鞋样式非常多父辈有治安拘留政审可以过吗?治安拘留是行政处罚,不是犯罪,不会影响下一代政审通过。但对于有些特殊军兵种在同等条件下会优先录用其他人。如负责警卫的兵种,核潜艇等。可以的。那时候没有联网,甲派出所拘留了,乙派出所网红姜涛,蹭了半个月狂飙热度还在蹭,表情做作尴尬到抠脚狂飙不止救活了低迷的国产剧市场,还救活了一众不知名的十八线小演员,以及一批网红。很多人靠模仿狂飙中的人物走红,模仿高启盛模型走路方式的人居多,只有网红姜涛执着于模仿李宏伟。姜涛是山你看过忠犬八公的故事吗?很多年前看过一部电影叫做忠犬八公的故事,电影主要讲述了一人一犬一生等待的故事。电影里的男主人公是一个大学教授,他每天都会到小镇的火车站乘坐火车上下班。就在这一天,他在火车站发现了一争优争先争效丨县级工会加强年专项工作(秀屿篇)编者按县域治理是推进国家治理体系和治理能力现代化的重要一环。县级工会在我国工会组织体系中处于承上启下的重要地位,发挥着基础性和关键性作用。全国总工会决定自2022年9月至2023年红色题材微电影九家保在松罗乡南溪村开拍3月18日,在福安市委宣传部和福安市委组织部的大力支持和指导下,红色题材微电影九家保在福安市松罗乡南溪村开拍。该剧讲述的是南溪村贫苦农妇施脓禄带领九家联保为救詹如柏叶飞等领导人而英近视就一定不能报考军校或者警察学院吗?眼睛近视,并不等于你和军校警校无缘。我国高考招生中军校警校的体检标准明确规定,军事(武警)院校体检对视力的要求,以前是裸眼视力右眼不低于4。6,左眼不低于4。5,这个标准就已经是近如何才能考上军校?作为曾经的军校内部人士,我简单介绍一下进入军校的途经。高考首先说明不是所有的军校都可以通过高考进入的,比如国防大学等属于培养高级干部的院校高考是不可以直接报考的,可以报考的我都在下为什么医院的食堂一定要区分医院职工用餐和患者家属用餐呢?医院职工有自己的食堂这很正常。因为他们的作息时间不规律,时间又紧。常是来去匆匆!怎么和病人家属一块去排队?吃饭时总可以喘口气,这点权力该是有的。他们吃饭轮班制。吃饭时间是她们自已的
专访世界中联陈玉琢中国老龄产业规模或超23万亿,中医药将迎重大发展机遇21世纪经济报道武瑛港北京报道不论是养老产业老年产业还是老龄产业,未来一定会成为中国经济发展的常青树,如果没有疫情影响,我们曾预计到2030年,全国老龄相关消费可能会达到2324万客户不来付款取车,宝马5S店另行出售,谁更占理?图说5S店给李女士的通知函(部分内容截图)来源采访对象提供近日,市民李女士向新民晚报反映,她在一家宝马5S店订购了一辆宝马225i灵活定制车,店方总以无车为由,慢吞吞拖延交车半年后个税汇算,开始预约了!生活负担较重可优先退税你可能会多领一笔钱!2022年度个税汇算将于3月1日起开始目前,预约办理已开放年度汇算的时间范围是什么?2022年度汇算的时间为2023年3月1日至6月30日,期间跨度4个月,全天厉害了!梧州近30名跑友赴广东云浮参赛半马,成绩优异近日,2023年云浮大金山半程马拉松赛在广东省云浮市开跑。这是今年广东省内的第一场马拉松赛事,共设置了欢乐跑(约5公里)健康跑(10公里)和半程马拉松(21。0975公里)3个项目平和县柚茶融合,闯出新天地东南网2月18日报道(福建日报记者赵锦飞赵文娟)春节开假以来,漳州平和县紧锣密鼓地谋划着发展大计,吹响进军柚香奇兰茶产业的号角1月28日,节后上班首日,平和县开了一场特殊茶话会,商关于生孩子那件事生孩子顺产好?还是剖宫产好?孕育一个生命是一段艰辛的路程,好不容易等到足月了,赶紧剖宫产卸货了这是好多孕妈妈的心里写照,那到底是顺产好?还是剖宫产好呢?毋容置疑当然顺产好。首先说说老师打学生手心引争议比起责罚,教孩子学会解决问题更重要头条创作挑战赛2月15日,江苏泰州某中学,一位教师用尺子狠抽学生手心的视频上传到网上,引发了广大网友的关注和讨论。据说,这位老师打人的原因,是因为这个学生的作业错误率太多,老师实在90后妹子澳洲矿区做后勤包机上下班月薪5万,管2000人吃喝拉撒这是我们讲述的第1602位真人故事我叫叶灵杺(抖音叶灵杺。Lia),90后东北妹子,目前在澳大利亚。这是我以打工度假的方式,第二次来到澳大利亚了。第一次到澳大利亚,我抱着只要有份工大美新疆哈密纪行天山南北两重天近年来,随着我国旅游业的快速发展,新疆壮丽的山水风光多彩的民族风情,吸引了越来越多的内地游客。新疆地域辽阔,有着166。49平方公里的版图面积,相当于十个河南省面积的总和。新疆的北七一文学春周末,走在马路上,风儿像一双温柔的小手,轻轻地抚摸着我的面颊,我感受着春的温暖,阳光洒在身上暖洋洋的。放眼望去,万物苏醒,一切都显得春意盎然,展现出了勃勃生机。儿时,我就开始喜爱春桂林人口中的王城,背后居然还隐藏了这么多秘密桂林,是一座历史文化名城。虽无几朝古都的响亮名头,却也有以为桂林象郡的源远流长。虽未在史家眼里留下太多传奇的故事,却也有无数骚客不惜笔墨挥毫的赞美诗篇。虽以山水闻名,却也养育出了八
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网