ltpo自适应刷新k50支持吗 第6关k8s架构师课程之HPA
ltpo自适应刷新k50支持吗 第6关k8s架构师课程之HPA
2024-11-08 05:01:40  作者:幸福遗忘轼  网址:https://m.xinb2b.cn/life/cna133177.html

大家好,我是博哥爱运维,这节课带来k8s的HPA 自动水平伸缩pod,接下来我们就来聊聊关于ltpo自适应刷新k50支持吗 第6关k8s架构师课程之HPA?以下内容大家不妨参考一二希望能帮到您!


ltpo自适应刷新k50支持吗 第6关k8s架构师课程之HPA

HPA

大家好,我是博哥爱运维,这节课带来k8s的HPA 自动水平伸缩pod。

我们知道,初始Pod的数量是可以设置的,同时业务也分流量高峰和低峰,那么怎么即能不过多的占用K8s的资源,又能在服务高峰时自动扩容pod的数量呢,在K8s上的答案是Horizontal Pod Autoscaling,简称HPA 自动水平伸缩,这里只以我们常用的CPU计算型服务来作为HPA的测试,这基本满足了大部分业务服务需求,其它如vpa纵向扩容,还有基于业务qps等特殊指标扩容这个在后面计划会以独立高级番外篇来作教程。

自动水平伸缩,是指运行在k8s上的应用负载(POD),可以根据资源使用率进行自动扩容、缩容,它依赖metrics-server服务pod使用资源指标收集;我们知道应用的资源使用率通常都有高峰和低谷,所以k8s的HPA特性应运而生;它也是最能体现区别于传统运维的优势之一,不仅能够弹性伸缩,而且完全自动化!

我们在生产中通常用得最多的就是基于服务pod的cpu使用率metrics来自动扩容pod数量,下面来以生产的标准来实战测试下(注意:使用HPA前我们要确保K8s集群的dns服务和metrics服务是正常运行的,并且我们所创建的服务需要配置指标分配)

# pod内资源分配的配置格式如下:# 默认可以只配置requests,但根据生产中的经验,建议把limits资源限制也加上,因为对K8s来说,只有这两个都配置了且配置的值都要一样,这个pod资源的优先级才是最高的,在node资源不够的情况下,首先是把没有任何资源分配配置的pod资源给干掉,其次是只配置了requests的,最后才是两个都配置的情况,仔细品品 resources: limits: # 限制单个pod最多能使用1核(1000m 毫核)cpu以及2G内存 cpu: "1" memory: 2Gi requests: # 保证这个pod初始就能分配这么多资源 cpu: "1" memory: 2Gi

我们先不做上面配置的改动,看看直接创建hpa会产生什么情况:

# 为deployment资源web创建hpa,pod数量上限3个,最低1个,在pod平均CPU达到50%后开始扩容kubectl autoscale deployment web --max=3 --min=1 --cpu-percent=50#过一会看下这个hpa资源的描述(截取这下面一部分)# 下面提示说到,HPA缺少最小资源分配的request参数Conditions: Type Status Reason Message ---- ------ ------ ------- AbleToScale True SucceededGetScale the HPA controller was able to get the target's current scale ScalingActive False FailedGetResourceMetric the HPA was unable to compute the replica count: missing request for cpuEvents: Type Reason Age From Message ---- ------ ---- ---- ------- Warning FailedComputeMetricsReplicas 3m46s (x12 over 6m33s) horizontal-pod-autoscaler invalid metrics (1 invalid out of 1), first error is: failed to get cpu utilization: missing request for cpu Warning FailedGetResourceMetric 89s (x21 over 6m33s) horizontal-pod-autoscaler missing request for cpu

我们现在以上面创建的deployment资源web来实践下hpa的效果,首先用我们学到的方法导出web的yaml配置,并增加资源分配配置增加:

# cat web.yaml apiVersion: apps/v1kind: Deploymentmetadata: labels: app: web name: web namespace: defaultspec: replicas: 1 selector: matchLabels: app: web template: metadata: labels: app: web spec: containers: - image: nginx name: nginx resources: limits: # 因为我这里是测试环境,所以这里CPU只分配50毫核(0.05核CPU)和20M的内存 cpu: "50m" memory: 20Mi requests: # 保证这个pod初始就能分配这么多资源 cpu: "50m" memory: 20Mi

更新web资源:

# kubectl apply -f web.yaml deployment.apps/web configured

然后创建hpa:

# kubectl autoscale deployment web --max=3 --min=1 --cpu-percent=50 horizontalpodautoscaler.autoscaling/web autoscaled# 等待一会,可以看到相关的hpa信息(K8s上metrics服务收集所有pod资源的时间间隔大概在60s的时间)# kubectl get hpa -wNAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGEweb Deployment/web <unknown>/50% 1 3 1 39sweb Deployment/web 0%/50% 1 3 1 76s

我们来模拟业务流量增长,看看hpa自动伸缩的效果:

# 我们启动一个临时pod,来模拟大量请求# kubectl run -it --rm busybox --image=busybox -- sh/ # while :;do wget -q -O- http://web;done# 等待2 ~ 3分钟,注意k8s为了避免频繁增删pod,对副本的增加速度有限制# kubectl get hpa web -wNAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGEweb Deployment/web 0%/50% 1 3 1 11mweb Deployment/web 102%/50% 1 3 1 14mweb Deployment/web 102%/50% 1 3 3 14m# 看下hpa的描述信息下面的事件记录# kubectl describe hpa webEvents: Type Reason Age From Message ---- ------ ---- ---- -------... Normal SuccessfulRescale 62s horizontal-pod-autoscaler New size: 3; reason: cpu resource utilization (percentage of request) above target

好了,HPA的自动扩容已经见过了,现在停掉压测,观察下HPA的自动收缩功能:

# 可以看到,在业务流量高峰下去后,HPA并不急着马上收缩pod数量,而是等待5分钟后,再进行收敛,这是稳妥的作法,是k8s为了避免频繁增删pod的一种手段# kubectl get hpa web -wNAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGEweb Deployment/web 102%/50% 1 3 3 16mweb Deployment/web 0%/50% 1 3 3 16mweb Deployment/web 0%/50% 1 3 3 20mweb Deployment/web 0%/50% 1 3 1 21m

  • 哈尔滨冰雪节四大景点是什么(哈尔滨火爆全网的这个景区)
  • 2024-11-08哈尔滨火爆全网的这个景区最近哈尔滨冰雪大世界和太阳岛雪博会建设进入火热期今冬将为游客呈现更多冰雪之美在松花江江面上每天都有近百名采冰人冒着严寒采冰采冰技术人员以冰锯划线切割用冰镩子开冰最后将冰块缓缓拉出水面按照固定规格切割装。
  • 名著阅读西游记重点知识归纳总结(名著西游记考点必读)
  • 2024-11-08名著西游记考点必读常考故事情节猴王出世花果山山顶上的一块仙石受天真地秀、日精月华,孕育出一个石猴石猴为寻找长生不老的仙方,拜菩提祖师为师,得名孙悟空孙悟空听讲时抓耳挠腮,手舞足蹈,被祖师训斥;菩提老祖传口诀后,他很快就。
  • 描写大学校园丰富生活的句子(怎么描写大学校园生活)
  • 2024-11-08怎么描写大学校园生活清晨,阳光很好透过窗的缝隙照到心里暖暖的空气中弥漫著甜蜜的情歌痴笑著向那些所谓的忧伤潇洒告别微凉的指尖开始有了暖的温度我想也许春天真的快来了今天付出多一点,明天遗憾少一点在学校的操场边,种了三四棵枇杷。
  • 肉末盖鸡蛋的做法大全(肉末焖鸡蛋的配方与制作方法)
  • 2024-11-08肉末焖鸡蛋的配方与制作方法1、主料:鸡蛋1个2、辅料:肉末10克、酱油1勺3、打开一个鸡蛋,加少许盐,也可以不加,打散4、打散的蛋液中加入肉末,搅拌均匀5、加适量温水,大约在一个中碗的如此高度盖保鲜膜,这一步很重要6、放入电饭。
  • 香橙香蕉蛋糕(橙橙磅蛋糕清爽的味道)
  • 2024-11-08橙橙磅蛋糕清爽的味道免打发的蛋糕-磅蛋糕别看它这粗糙扎实的外表,其实口感免密又松软加入了橙子皮、果肉和橙汁,香气满满,橙味四溢,清新而不甜腻做法简单,不用打发蛋白,0失败简单易上手,朋友来家做客,可以轻松做一个拿出手By。
  • 云南大山最好吃的土货(云南农村集市上最)
  • 2024-11-08云南农村集市上最对于云南人来说,每年一到雨季,就意味着吃货季节又到了,云南那些与边境接壤的地方更是山珍美味齐全,西双版纳磨憨出去的老挝集市更是稀罕临沧的勐朗坝,老挝琅勃拉邦的农贸市场,元阳嘎娘村集市,山民们就把平时采。
  • 新时代文明实践联席会议工作制度(河道局通信总站学习弘扬)
  • 2024-11-08河道局通信总站学习弘扬8月28日,荆州市长江河道管理局通信总站纪检委员谢莉、工会主席熊烈带领通信总站青年人前往公安学习“三袁文化”公安三袁(袁宗道、袁宏道、袁中道)是“公安派”文学代表人物,其代表的“三袁文化”与传统文化精。
  • 小满谚语(小满谚语有哪些)
  • 2024-11-08小满谚语有哪些小满小满,麦粒渐满小满未满,还有危险小满小满,还得半月二十天风刮麦扑地,如若人工立,根断茎受损,籽粒变瘦秕麦倒似地毯,绑竖大减产,等待三五日,就能见好转临近收割麦扑地,抓紧收获莫迟疑当年乌麦拔得净,来。
  • 蟋蟀叫声的诗句(就是最美秋日诗词)
  • 2024-11-08就是最美秋日诗词《清平乐·候蛩凄断》宋代:张炎候蛩凄断,人语西风岸月落沙平江似练,望尽芦花无雁暗教愁损兰成,可怜夜夜关情只有一枝梧叶,不知多少秋声!上片“候蛩”四句写出秋意:候蛩(即蟋蟀)的哀鸣,西风的衰飒,秋月的清。
  • 十二星座流星雨日期2022(十二星座流星雨O)
  • 2024-11-08十二星座流星雨O白羊座流星雨流星雨是宇宙中的一种自然奇观,当闪亮的星群划过天际,当耀眼的光芒映射长空,人们纷纷闭上双眼合上双手许愿,愿爱情美好、愿家人健康、愿事业有成、愿学业进步究竟十二星座的流星雨何时出现,又代表和。