k8s--kubernetes资源监控--HPA实例
创始人
2025-05-28 19:25:35
0

文章目录

  • 一、HPA简介及工作原理
    • 1.简介
    • 2.HPA 的工作原理
  • 二、单一量度指标
    • 1.上传镜像
    • 2.部署
    • 3.压测
    • 4.pod负载上升
    • 5.触发hpa扩容pod
  • 三、多项量度指标
    • 1.生成文件并修改
    • 2.测试


一、HPA简介及工作原理

官方:https://kubernetes.io/zh-cn/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/

1.简介

HPA的全称为(Horizontal Pod Autoscaling)它可以根据当前pod资源的使用率(如CPU、磁盘、内存等),进行副本数的动态的扩容与缩容,以便减轻各个pod的压力。
当pod负载达到一定的阈值后,会根据扩缩容的策略生成更多新的pod来分担压力,当pod的使用比较空闲时,在稳定空闲一段时间后,还会自动减少pod的副本数量。

2.HPA 的工作原理

  • k8s中的某个Metrics Server(Heapster或自定义Metrics Server)持续采集所有Pod副本的指标数据。
  • HPA控制器通过Metrics Server的API(Heapster的API或聚合API)获取这些数据,基于用户定义的扩缩容规则进行计算,得到目标Pod副本数量。
  • 当目标Pod副本数量与当前副本数量不同时,HPA控制器就访问Pod的副本控制器(Deployment 、RC或者ReplicaSet)发起scale操作,调整Pod的副本数量,完成扩缩容操作。
    在这里插入图片描述

二、单一量度指标

1.上传镜像

在这里插入图片描述

2.部署

[root@k8s2 ~]# mkdir hpa
[root@k8s2 ~]# cd hpa
[root@k8s2 hpa]# vim hpa.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: php-apache
spec:selector:matchLabels:run: php-apachereplicas: 1template:metadata:labels:run: php-apachespec:containers:- name: php-apacheimage: hpa-exampleports:- containerPort: 80resources:limits:cpu: 500mrequests:cpu: 200m
---
apiVersion: v1
kind: Service
metadata:name: php-apachelabels:run: php-apache
spec:ports:- port: 80selector:run: php-apache
[root@k8s2 hpa]# kubectl apply -f hpa.yaml[root@k8s2 hpa]# kubectl autoscale deployment php-apache --cpu-percent=50 --min=1 --max=10[root@k8s2 hpa]# kubectl get hpa
NAME         REFERENCE               TARGETS   MINPODS   MAXPODS   REPLICAS   AGE
php-apache   Deployment/php-apache   0%/50%    1         10        1          73s

3.压测

[root@k8s2 hpa]# kubectl run -i --tty load-generator --rm --image=busybox --restart=Never – /bin/sh -c “while sleep 0.01; do wget -q -O- http://php-apache; done”

4.pod负载上升

[root@k8s2 ~]# kubectl  top pod
NAME                          CPU(cores)   MEMORY(bytes)
load-generator                24m          3Mi
php-apache-6496844877-d7gfz   409m         14Mi

5.触发hpa扩容pod

在这里插入图片描述
结束压测后,默认等待5分钟冷却时间,pod会被自动回收

三、多项量度指标

1.生成文件并修改

[root@k8s2 hpa]# kubectl get hpa php-apache -o yaml > hpa-v2.yaml

修改hpa-v2.yaml文件,增加内存指标

  • resource:
    name: memory
    target:
    averageValue: 50Mi
    type: AverageValue
    type: Resource
    在这里插入图片描述

2.测试

[root@k8s2 hpa]# kubectl apply -f hpa-v2.yaml[root@k8s2 hpa]# kubectl get hpa
NAME         REFERENCE               TARGETS                 MINPODS   MAXPODS   REPLICAS   AGE
php-apache   Deployment/php-apache   15835136/50Mi, 0%/50%   1         10        1          20m

在这里插入图片描述


相关内容

热门资讯

华为安卓系统不升级鸿蒙系统,华... 你知道吗?最近在科技圈里,有一个话题可是引起了不小的波澜呢!那就是华为安卓系统不升级鸿蒙系统的事情。...
安卓系统导航能升级,畅享智能导... 你有没有发现,你的安卓手机导航系统最近好像变得不一样了?没错,就是那个我们每天都要打交道的好帮手——...
诺基亚8原生安卓系统,尽享流畅 你有没有想过,那些曾经陪伴我们度过无数时光的诺基亚手机,现在竟然还能焕发青春?没错,就是那个经典的诺...
iq是不是安卓系统,安卓系统的... 你有没有想过,那个我们每天不离手的安卓系统,它是不是也有自己的智商呢?没错,今天咱们就来聊聊这个话题...
安卓系统短信存储上限,如何有效... 你有没有发现,手机里的短信越来越多,有时候翻看短信记录,竟然发现手机短信存储空间已经告急了!这可怎么...
秘客app安卓系统,探索未知领... 你有没有听说过那个超酷的秘客app安卓系统?最近,这款应用在互联网上可是火得一塌糊涂呢!它不仅功能强...
安卓系统 没有网卡驱动,安卓系... 你有没有遇到过这种情况:新入手了一台安卓手机,结果发现连上网络都成了难题,原来是没有安装网卡驱动!别...
安卓系统桌面时间显示,科技与美... 你有没有发现,手机屏幕上那个小小的时钟,它可是安卓系统桌面上的一个小秘密呢!它不仅告诉你时间,还能根...
安卓酒店影音系统app,打造智... 你有没有想过,在安卓手机上,如何让酒店的影音体验瞬间升级?没错,就是那个神奇的安卓酒店影音系统app...
安卓手机开发qq系统,功能解析... 你有没有想过,你的安卓手机里那个天天陪伴你的QQ系统,背后竟然有着如此丰富的开发历程和技巧呢?今天,...
海思芯片安卓系统,创新与突破的... 你知道吗?最近科技圈里有个大新闻,那就是海思芯片和安卓系统的那些事儿。这俩家伙可是科技界的明星,今天...
安卓系统 时间改变颜色,安卓系... 你知道吗?手机里的安卓系统竟然能根据时间改变颜色,这听起来是不是有点神奇?想象当清晨的第一缕阳光透过...
安卓智能音乐播放系统,打造个性... 你有没有发现,随着智能手机的普及,音乐已经不再只是单纯地通过耳机享受了?现在,安卓智能音乐播放系统可...
安卓系统学习书籍,从入门到精通 你有没有想过,想要深入了解安卓系统,却苦于没有一本合适的书籍呢?别急,今天我就要给你推荐几本市面上口...
支持电脑的安卓系统,探索安卓系... 你有没有想过,你的电脑竟然也能用安卓系统?没错,就是那个我们手机上常用的安卓系统,现在竟然也能在电脑...
iphone系统安卓手机壳,时... 你有没有发现,最近你的手机壳是不是已经有点儿跟不上潮流了呢?别急,今天就来给你揭秘为什么iPhone...
vivo升级安卓9.0系统,畅... 哇,亲爱的手机控们,是不是最近你的vivo手机突然变得聪明了许多?没错,vivo最近给我们的手机宝宝...
安卓的系统好用吗,体验与优缺点... 你有没有想过,为什么安卓系统这么受欢迎呢?它到底好用到什么程度呢?今天,就让我带你从多个角度来揭秘这...
u盘系统 安卓系统安装教程,U... 你是不是也和我一样,对安卓系统情有独钟,想要在U盘上安装它,随时随地享受安卓的魅力?别急,今天就来手...
安卓系统复制文字颜色,复制文字... 你有没有遇到过这样的烦恼:在安卓手机上复制一段文字,结果颜色也跟着一起复制过去了,让人看着不舒服,还...