幼儿饰品瑜伽美体用品微软
投稿投诉
微软创意
爱情通信
用品婚姻
爱好看病
美体软件
影音星座
瑜伽周边
星座办公
饰品塑形
搞笑减肥
幼儿两性
智家潮品

腾讯云胡启明Kubernetes云上资源的分析与优化

  嘉宾胡启明
  出品CSDN云原生
  2022年6月30日,中国信通院、腾讯云、FinOps产业标准工作组联合发起的《原动力x云原生正发声降本增效大讲堂》系列直播活动第2讲如期举行,腾讯云容器技术专家胡启明分享了Kubernetes云上资源的分析与优化。
  胡启明是开源项目Crane的Founder和负责人,专注Kubernetes云原生领域8年,负责专有云容器产品、云原生应用平台的研发和管理,是Kubernetes、Dapr、KubeEdge等多个开源项目的Contributor。本文整理自胡启明的分享。
  Kubernetes云上资源管理
  Kubernetes资源模型:Request和Limit
  Request代表Kubernetes应用声明它希望获得的最小的资源使用量。
  Limit代表Kubernetes应用声明它希望获得的最大的资源使用量。
  Kubernetes的调度器,会根据Request的申请量去调度应用到Kubernetes的节点上。
  资源预留带来的资源浪费
  关于Request的模型,用户设置时存在一个问题:用户的开发者不一定对业务线上运行情况完全感知。例如:不知道业务在线上运行时需要多少CPU和内存,以及业务洪峰的场景下资源使用量会上涨的维度。因此,基于这些问题,在业务开发、运维在配置Request时,开发者会选择保守策略,常把配置设高。
  同时,也带来另一个问题:资源浪费比较显著。如下图所示,应用的Request声明了4个核,但实际使用不超过2个核。这都是由于保守、业务运行不了解带来的资源浪费。
  资源紧缺带来的资源浪费
  CPU是可压缩资源。当CPU紧缺时,实际用量可以超过CPU总量,此时会出现资源的争抢,导致应用处理程序速度变慢。
  内存是不可压缩资源,如果业务运行中超过了上限,就会呈现下图的情况。
  如上图所示,Kubernetes中的节点上部署了两个容器,它们在处理业务都有规律:
  在晚上,业务的使用量会降低,白天高峰期业务容量就会偏高;
  昼夜规律比较相似,相似的业务部署在了同一个节点上;
  业务高峰期,容器的内存用量会达到它的Limit值,但由于调度应用是根据Request完成的,会导致在业务高峰期节点上内存被耗尽。
  资源被耗尽时候,会发生什么事?
  如果节点的内存耗尽,Kubernetes会按顺序驱逐容器,排序规则是容器实际内存使用超出Request的用量。如果去驱逐用量大于Request的东西,业务就会发生损伤,因为它的容器被Kill,并且这时候往往是处在于业务的高峰期,使业务受到损伤。
  如果容器内所有的进程分配的内存超过了内存Limit,节点上的OOMKiller会立刻Kill这些进程。这种场景下,业务的使用也会受到损伤,用户也会感知。这导致了应用开发者或者SRE去配置资源时会采取保守策略,以保证业务稳定性和正确性,这加剧了云上资源浪费。
  大量资源无法使用导致资源浪费
  当业务上了Kubernetes等云原生平台后,它的资源的用量和与使用率会偏低。下图显示资源总量很大,但实际使用量却很低,导致大量资源的使用浪费。
  Kubernetes弹性伸缩
  HPA工作原理
  HPA工作原理如下图所示。
  在云上,用户通过ServiceLoadBalance,请求到一个Deployment,Deployment里有几个Pod。为了让DeploymentPod在用户流量增大时自动扩容,在流量减少时自动缩容,达到按需计费,于是创建了HPA。
  HPA会让用户设置最小的副本数和最大的副本数,并且用户设置目标的CPU使用率。根据目标使用率,在最小副本数和最大副本数之间做自动弹性伸缩。
  HPA在社区发展了已有34年,版本目前达到v2,功能比较完善。社区的HPA不但支持基于K8s内置的CPU和Memory指标,还提供了丰富的扩展能力customermetric、Externalmetric的外部指标,让用户可以通过外部的监控指标来对业务做弹性。
  最常见的基于Prometheus的adapter,让用户基于Prometheus的metric自动做弹性。社区有一个开源产品叫KEDA,它专注于通过EventDriven的方式让业务做弹性。本质是使用了HPA,把一些基于Kafka、MQ数据的event去做弹性的输入,通过externalmetric的方式让HPA去做水平弹性。
  HPA原生能力不足
  社区的HPA也有局限性,主要在两个方面。
  在业务流量的洪峰来临时来不及扩容。例如:用户MQ的connection会提升,随着message数量会增加,CPU的用量会提升,但如果资源洪峰已经来临时,再去扩就常常会发现来不及。一方面原因是EventDriven,洪峰来临再去弹,另外一方面的原因是容器化的业务启动速度赶不上流量来的速度。由于业务系统慢,导致很多业务没办法使用社区的HPA。
  流量抖动。在下图的深V时间点内,如果使用HPA将导致HPA的副本剧烈抖动。虽然HPA里有个behavior的功能可以减少抖动,但调大behavior减少抖动时,HPA的弹性会变得迟钝,导致弹性效果不理想。
  VPA工作原理和局限性
  VPA工作原理如下。
  首先,用户会创建一个VPA的对象,它会有VPA的Recommend,便于定期获取VPA里面的弹性配置。同时,Recommend也会去从ApiServer拿到整个集群中的状态信息。通过VPA的算法,根据这两个信息计算出用户应用推荐配置CPU和memory的数量。最后,根据资源配置推荐信息更新到VPA上去。
  还有一个组件叫做VPAUpdater,它会去获取弹性配置,并且感知到配置后,需要把Pod重建,配置它才能生效。因此,VPAUpdater会对Pod做Eviction。众所周知,当Pod做Eviction时,它会自动创建新的Pod来替代它,新的Pod的创建请求会被VPAAdmissionplugin给拦截,拦截之后它会把VPA上面的弹性配置更新到PodSpec,新建的Pod就会使用VPA推荐的资源配置。
  在现实中,VPA的落地场景其实不多,因为VPA有其局限性:业务很难接受随时重建的Pod。
  例如一个业务正在接受一个用户的数据处理,这时Pod重建了,用户的业务使用就会受损,Pod重建无法通知到业务,并且一定会对业务造成影响,导致很多时候在生产环境很难使用VPA。
  基于Crane的Kubernetes的资源分析与优化
  Crane是腾讯的一个基于Kubernetes的开源项目,全称是CloudResourceAnalyticsandEconomics,译为云上资源的分析和降本。
  Crane是基于FinOps的理论来去编排设计的能力模型,从下往上看分为五层:
  UnderstandFullyLoadedCosts:多维度业务成本分摊表、标签管理、分期账单、预算和配额管理等。
  EnableRealTimeDecisionMaking:资源利用率报表、异常识别、识别资源浪费等。
  BenchmarkPerformance:趋势和变化分析、评分和PKI、内部评比、跨供应商评分对比等。
  OptimizeUsage:支持的资源优化的能力,比如资源回收再分配、Request推荐、基于预测的智能弹性、机型推荐等。
  OptimizeRate:提供计费方面的能力,比如计费方式推荐、抵用券支持等。
  云上资源的分析和优化
  下图展示的是Kubernetes云上资源的分析和优化的能力。
  Kubernetes里有个重要的概念,叫做InfrastructureasCode。Kubernetes上所有资源都是可以通过YAML配置的方式来去声明,例如Deployment、Job、PV、SVC、node、CPU,都可以用通过一段YAML配置来去声明。Crane提供了一套分析推荐的插件能力,去分析Kubernetes中的云资源。
  同时,输入的一方面是云资源,另一方面是Kubernetes的观测数据,例如Deployment对应CPU的使用率,内存的使用率,都是观测数据。
  云资源观测数据分析算法作为一个输入,再加上资源推荐的插件,能给用户推荐优化的建议。比如,资源推荐的插件会根据用户的应用配置、实际使用量、推荐算法,得到建议资源CPU和memory的配置值。
  在分析结果之后,还可以利用一些工具包,比如Kubernetes的插件,把资源优化的分析结果汇总给用户,让用户能够观测到优化结果。优化结果通过API去计算云端费用的节省,帮助用户在云上做成本决策。
  云上资源的分析与优化,还提供了一个插件系统。用户可以自定义推荐的插件,使用推荐的framework插到分析的推荐系统中去,实现自定义分析和推荐的逻辑。
  资源推荐
  下图展示的是资源推荐中的诉求、方案以及成效。
  从让应用的资源配置更简单的诉求出发。
  Crane方案是根据应用的历史用量推荐,支持按照机型规格做调整,基于VPA的算法进行资源推荐。很多业务都跑在Serverless构上,Serverless架构上的资源规格、机型规格都会做规整,例如1。5Core3G的资源就会向上规整到2Core4G上,Crane的推荐结果会根据规则做规整,同样是基于VPA算法。
  成效如上图右侧所示,没有使用资源推荐之前,很多业务的机型是偏大的,经过资源推荐优化之后,用户采纳推荐配置并且重建了容器。资源推荐是使用推荐建议的方式,让用户去选择时间和是否采纳建议。在用户采纳之后,才会去批量的rolling更新,避免VPA随时更新应用的配置,导致应用被重启的问题。
  副本弹性推荐
  下图展示的是副本弹性推荐中的诉求、方案以及成效。
  从让应用副本配置更简单的诉求出发。
  Crane方案会去扫描集群中的应用,根据它的应用历史用量,基于HPA的算法计算未来副本数。其中,部分应用用量有昼夜规律波动,这类业务则可以推荐它的副本配置,实现降本。对于能够支持动态扩缩、有规律性的业务,可以配智能弹性EffectiveHPA,用户进行降本增效。
  成效如上图右侧所示,大部分业务配了很多副本数,但经过计算发现降到三个副本也可以满足业务诉求。
  内部大规模落地实践
  腾讯的智能推荐的能力在腾讯内部和自研业务上大规模落地,部署到数百个Kubernetes的集群,管控了数百万个CPU的核,在全面上线一个月之内,大盘的总和数缩减了25。
  腾讯把集群中资源推荐的建议展现到控制台里,让用户看到工作负载、当前的核数、推荐的资源量、推荐副本数。
  该页面还能帮用户整理出工作环境中的应用数字、可以被优化的数字以及用户采纳优化建议后能降低多少CPU和内存的使用,通过图形的方式展现出来,方便用户去决策。我们还支持基于kubectl插件去分析整个集群中的状态。
  智能弹性EffectiveHPA
  HPA落地有两个问题:弹性时间滞后、弹性毛刺。
  上图展示的是智能弹性的功能,EffectiveHPA。EffectiveHPA是基于时间预测的算法,通过预测未来的metric使用量去解决问题,它有以下能力。
  第一个能力:提前扩容,保证服务质量。采取时间序列算法(FastFourierTransformer),可以根据过去7天或者14天的metric,预测未来7天metric变化轨迹。通过预测窗口里面metric的最大值做提前扩容,还会采取metric兜底保护策略。
  第二个能力:减少无效缩容。能够预测未来的一个资源用量,当曲线发生抖动时,因为取的预测窗口中的最大值,所以整个曲线的抖动毛刺程度明显降低。
  第三个能力:支持Cron配置。应对大促、节假日等有规律的流量洪峰。
  第四个能力:易于使用。EffectiveHPA完全兼容社区HPA的功能,还支持Dryrun观测,指标支持PrometheusMetric。
  下图展示的是EffectiveHPA的架构。
  用户创建EffectiveHPA的对象后会生成两个资源对象:
  一个是TimeSeriesPrediction;
  另一个是社区原生的HPA。
  TimeSeriesPrediction是时间序列预测的Controller的对象。创建后有一个组件叫Predictor开始从Prometheus中拿取应用历史数据,并且通过预测算法得到未来持续预测,把预测结果更新到TimeSeriesPredicton中。
  社区HPA在创建后,HPA的Controller就会工作。定义中的metric的配置向Kubernetes的ApiServer请求。一方面,它会去向Metricserver去请求它的CPU的用量。另一方面,它向Cranemetricadapter去请求预测数据。
  最后,Metricadapter会从TSP中获取它的预测数据,并且把结果返回给HPAController。HPAController将两个源头数据通过HPA算法,计算得到较高的副本数,并且用副本数更新到真实的应用中,这就是EffectiveHPA智能弹性的工作过程。
  CronHPA、KEDA、EffectiveHPA有什么差异点呢?如下图所示。
  CronHPA是通过修改HPA的配置去控制底层的HPA,并且控制应用的弹性伸缩。由于它是自动修改HPA的配置,这就会导致用户的HPA配置能力遭到弱化。
  KEDA实现原理是为每一个框配置生成metric。但它的问题是在Cron的周期之外,KEDA的Cron配置会自动把用户的应用缩容到一个副本,原因是它把每一个Cron都定义成了metric。由于metric定义互相不感知,就导致metric返回的默认值只能设置为1,因为它不能够去影响别的metric配置。
  EffectiveHPA的Cron配置解决了前两个问题。通过预测、观测和周期性触发策略共同作用、计算和考虑,最后取中间的较大值。Cron的问题也解决了,在用户配置的Cron周期之内,副本数能够保持跟当前的配置不变,不会自动缩溶。
  智能弹性落地成效
  下图展示的是智能弹性的落地成效。
  腾讯内部的安全部门WAP和腾讯的容器服务,在生产环境已经使用了EffectiveHPA做弹性伸缩器。作为一个开源产品,很多公司对EffectiveHPA感兴趣,并且正在使用。
  酷乐家生产环境全量使用。酷乐家原本在生产环境中已经全量使用了HPA,由于没有办法提前扩容,导致它的配置相当保守。酷乐家看到Cron的EffectiveHPA后,将HPA存量切换到了EffectiveHPA,在生产环境全量使用后,解决了弹性问题,提升了平均使用率。
  目前EffectiveHPA在生产环境已经管控了数千个应用。
  平均利用率的提升达到10。如上图右下方所示,蓝线是预测的metric,绿线是CPU实时的metric容量,黄线是使用EffectiveHPA后的提前扩容能力。
  END

罕见影像!甘肃拍到雪山之王,雪豹相亲,1天倒立尿尿30次甘肃,一个充满了西北味道的地方。10月21日,甘肃安南坝野骆驼国家级自然保护区的红外相机处迎来雪山之王。长长的尾巴,豹纹般的身体,从相机外就可以深深感受到雪山之王的……党旗飘飘,青山不老,大道同行,初心如磐是什么?如利剑,划破岁月的铁幕,放万千光明?是什么?似巨铎,唤醒沉睡的雄狮,吼时代强音?是什么?若丰碑,张扬进军的旋律,……吉利集团收购阿斯顿马丁7。6股份!打造国产新能源超跑?说起国内芸芸汽车集团之中,富有国际观的汽车品牌,吉利汽车必然是其中之一,只因旗下除了拥有路特斯、沃尔沃、极星Polestar以及英伦电动汽车LEVC等品牌以外,也是梅赛德斯奔驰……宝妈含泪告诫如果可以,不要让外婆带娃,揭露当下家庭现状有史以来,身为婆婆的角色都一定会参与到帮年轻人带娃的事项当中。但是,从现在的情况来看,越来越多的姥姥承担起了帮年轻人带娃的责任。一大部分原因是因为这些年轻女性,不想因为带……这才是中年女性穿搭标杆,刘涛点亮入秋通勤装,知性大方一提到中年女性,大家脑海中都会不自觉浮现出他们臃肿的身材,失去的笑容以及失去光泽的皮肤,但如果抛开这些刻板印象,你会发现中年女性反而有种说不出来的魅力,他们比少女多了阅历,显得……华为P30Pronova8SE如何抉择?其实老款更香同一品牌,选择老款旗舰机好,还是新款中低端机好?以华为P30Pro和最新上市的nova8SE来举例,这两款机型目前售价相仿,哪款更值得入手?nova8SE是一款4G机型,……裴擒虎技能多方位调整,达摩和芈月大幅度加强,盾山的盾牌变薄近期体验服又进行了一波更新,此次更新内容不多,只有几个英雄的调整,且只是小范围的调整,不过调整的范围虽小,对很多英雄的影响却很大。其中有关于新英雄和专属装备的信息在这里就不做分……传奇世界梦寐以求的天玄套大家好,我是阿曼,今天和大家分享下在传奇世界游戏中关于道士的套装天玄套。传说道神套装是以整块的青冥玉翠雕琢而成,晶莹剔透。唯有领会了道家真正的奥义的强者才能佩戴。依稀一些道家仙……CBA球员盖帽榜前10截止至1月8日完赛No。1沈梓捷深圳马可波罗,44个No。2高世鳌青岛每日优鲜,37个No。3王哲林上海久事,33个No。4艾萨克哈斯北京控股,28个No。5吴冠希苏州肯……王者荣耀达摩赛季皮肤特效还不错,甄姬的女儿国更让人惊艳大家都知道王者荣耀的新赛季就要来了,每当这个时候,下赛季的一些皮肤就会有消息了,这次自然也不例外,目前为止已经有两款皮肤出现了,我们就一起来看看吧。首先就是达摩的沙漠行僧……孙红雷罕携老婆露面!小15岁娇妻熬成婆,同框再不见当初那般甜不同的单品有着不同的风格魅力,在不同的场合,我们也要选择不同的单品去塑造个人气质。平时我们都知道孙红雷颜王的称号,其实他的妻子王骏迪也很会穿搭,无论是红毯还是日常穿搭,都能用简……继热火队封杀伦纳德后,联盟背后的犹太资本又再一次封杀了欧文回想热火队的伦纳德,作为一名空间性内线,在外线拥有不错的射程,他在这个小球时代,也混得比较好,且能够在季后赛期间替补出场分钟以上,应该说还是有一些前途的。只不过刚29岁,……
脱发腰膝酸软没精神,现代人为什么早衰的那么多前两天一位中医爱好者给我发消息,问了这么一个问题,为什么现在的人都衰老得那么快?走两步就气喘吁吁,腰酸背痛的,精神头连一个老人都不如,还提前脱发,白发,像是被聊斋里面的妖怪把精……王者荣耀低分段上分秘籍(干货满满)首先说一下为什么只说低分段,那是因为笔者也只打到了星耀,其它号都是钻石。对于我这个手残党来说,这个成绩我已经很满意了。下面我们正式说说上分秘籍。装备铭文啥的不……KACN资讯原神2。4版本更新内容汇总原神2。4版本前瞻直播正式上线了!随着2022年春节临近,这次版本更新使一年一度的海灯节又回来了!本次2。4版本直播中也是跟过年一样的,四大璃月角色UP池,8位璃月四星角色自选……半导体短缺任天堂社长警告2022年初Switch可能缺货任天堂社长古川俊太郎在27日透露,受全球半导体短缺和物流动荡影响,2022年初Switch的供应可能会停滞。古川俊太郎分析了2021年末的主机商战,因10月发售的新OLE……仙剑98柔情版游戏速通只需2个多小时,看完比赛感觉自己白玩了《仙剑奇侠传》作为一款诞生于DOS时期的游戏,大小只有几十MB。可它的流程却一点都不短,再加上那些令人晕头转向的迷宫,一般人通关大概需要二十来个小时,即便是多周目的老手,也得花……杰克就是我心里最好的AD他和Knight,就像是樱木花道和流本以为英雄联盟S11赛季结束以后,LPL赛区会安静的等待S12春季赛的开赛。但是让囧王者万万没有想到的是,在2022年1月1日,LPL官方的一篇关于Knight的转会中二文章《……安徽一处古村落,比宏村还要古老,网友你不说,我还真不知道有别于大自然打造的山水风光,结合了人文气息和山水风景的古村落则更为人们所喜爱。可能正是因为多了深厚的历史底蕴和人文景观,使得这样的景点有种难以名状的韵味。故而,日益增多的游客开……耗资300多亿,用时5年多,通往新疆的格库铁路为什么非修不可文华商韬略木木人人都知晓新疆的好,风光绝美、历史悠久,物产丰富,埋在地下的各类宝藏资源更是数不胜数。但这片神奇的土地上有个大难题困扰了我们很多年:如何实现新疆尤其是……优派推出新款MiniLED显示器4K144HzHDR1000IT之家8月27日消息,优派现已推出新款MiniLED显示器,型号为VX2722,27英寸4K144HzHDR1000规格,首发4999元。IT之家了解到,这款显示器搭载……晴格格王艳,23岁嫁二婚富豪,婚后跪着洗脚,儿子辱骂,值吗近日,王艳在社交平台上上传了自己在乡间的生活照,随后引发网友的一种热议。难道豪门阔太也需要下地吗?其实,王艳的豪门生活并没有想象中那么好,或许回到田间才能够享受那一份久违……巅顶头痛怎么用药?头痛是临床常见患者的自觉症状,可单独出现,亦可见于多种疾病的过程中。表现以头痛为主症,一侧、双侧或全头部疼痛,呈跳痛、灼痛、胀痛、重痛、针刺痛等,甚则伴恶心呕吐,或其他自主神经……油价调整消息今天9月18日,加油站调价后全国9295号汽油限油价调整进入了最后的时间,各位车主要做好准备迎来本月的第一次下调,截至目前的数据显示,油价预计下跌0。23元升,此次油价下跌后,部分地区将会再次回归到七元时代,只是不知道此次油……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网