首页 > 其他分享 >k8s高级调度--HPA

k8s高级调度--HPA

时间:2023-05-29 11:44:21浏览次数:27  
标签:-- cpu hpa nginx HPA k8s pod

简绍:

通过Metrics server组件来收集pod和node上的度量指标,HPA也是通过Metrics server组件的指标来实现的水平扩缩容,HPA主要通过观察Metrics server上报的数据来做出相应的扩容或者缩容动作,扩缩容指标为CPU和内存使用率

验证:

创建deploy资源测试

kind: Deployment
metadata:
  name: nginx-deployment-basic
  labels:
    app: nginx
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
    #  nodeSelector:
    #    env: test-team
      containers:
      - name: nginx
        image: nginx:1.7.9 # replace it with your exactly <image_name:tags>
        ports:
        - containerPort: 80
        resources:
          limits:
            cpu: "500m"
          requests:
            cpu: "10m"

创建svc

kubectl  expose deployment nginx-deployment-basic --port 80

创建HPA

kubectl autoscale deploy nginx-deployment-basic --cpu-percent=10 --min=1 --max=10

#--cpu-percent 超过指标的百分比会触发扩容,上述参数表示cpu超过10%会触发扩容,最小扩容1个pod,最大扩容10个pody

查看HPA状态

压测验证:

 观察hpa的状态和pod的数量

 pod扩容触发正常,在配置hpa的时候,也需要关注k8s集群的资源使用情况,保证pod触发hpa后资源池足够运行扩容的资源,pod状态pending,大概率是资源不足导致的,

 停掉压测循环看下缩容情况

 稍等几分钟会pod副本会缩容到hpa的min副本数,刚开始创建deploy的时候我们配置的是俩个副本,所以,hpa资源的最小副本数要根据线上环境所需的副本数来配置

 

标签:--,cpu,hpa,nginx,HPA,k8s,pod
From: https://www.cnblogs.com/python-cat/p/17440026.html

相关文章

  • 查看更多的Log
    Backup一下:setproplog.tag.SyncVERBOSEsetproplog.tag.GTalkServiceVERBOSEsetproplog.tag.GDataClientVERBOSEsetproplog.tag.SmackVERBOSEsetproplog.tag.GoogleLoginServiceVERBOSEsetproplog.tag.Smack/PacketVERBOSEsetpro......
  • SM2259XT2+IM3D固件下载,DIY+简单测试SM2259XT2+384G B0KB的固态
    SM2259XT2固件下载,DIY+简单测试SM2259XT2+384GB0KB的固态。这是本次要出场的固态U盘:刚好找到一个美光的B0KB,单颗384GB,想起来之前买了几百片59XT2的U盘板子,刚好这个东西支持,贴上去试试。从量产部落下载了SM2259XT2开卡工具,上电读一下ID,ID齐全,直接自动识别开卡。一把过,颗粒原来在一......
  • libjingle 0.4和0.5版本之间的区别
    我所知道的主要的区别是:1.Build方式的区别.0.4在Windows上用VisualC++Express来build的,而0.5用的SCons来build的(一种跨平台的build工具)2.在0.5上去掉了fileshare的实现代码以及例子.我当前最关注的就是文件传输这一部分,所以决定从0.4版本......
  • vue中el-select 多选限制条件(根据不同选项进行不同可选可不选)
    首先看一个数据结构:1:无缺陷2:有缺陷-》缺陷1,缺陷2,缺陷33:审核不通过把它们集成到一个平面数据,进行下拉所选就变成了:1:无缺陷,2:审核不通过,3:缺陷一,4:缺陷二,5:缺陷三。因为字典项是个平面的,所以在类似的大批量的情况下,有缺陷这个类如果还按照这种结构除非自己去归类。想要直接映射到......
  • Build for Libjingle 0.5.2 + Mediastreamer2
    Mediastreamersupportin0.5.0[url]http://code.google.com/p/libjingle/issues/detail?id=102[/url]补充上面的patch:libjingleincludedirs"third_party/mediastreamer2/include","third_party/ortp/include",call......
  • 责任链模式
    将一堆“事情”串联在一起,有序执行,就叫责任链一、概述责任链模式(ChainofResponsibilityPattern)是将链中每一个节点看作是一个对象,每个节点处理的请求均不同,且内部自动维护一个下一节点对象。当一个请求从链式的首端发出时,会沿着链的路径依次传递给每一个节点对象,直至有对象......
  • 批处理延时启动的几个方法
    [b]方法一:ping[/b]缺点:时间精度为1秒,不够精确@[email protected]>nulstartgdh.txt[b]方法二:vbsstart/wait[/b]缺点:生成临时文件优点:时间精度为0.001秒,精度高@echooffechowscript.sleep5000>sleep.vbsstart/waitsleep.vb......
  • windows下glib使用
     glib是linux下的基础库,封装了一些C接口。当然也跨平台了。但是在windows下搞了很久才能运行起来。首先去官方网站下载动态库http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.12/glib-2.12.11.ziphttp://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.12/glib-dev-2......
  • echarts爆错invalid dom
    错误截图 错误原因:将初始化echarts的方法放在了created中,解决:将其放在mounted中 ......
  • K8s部署单节点Zookeeper并进行监控
    0、写在前面1>K8s监控Zookeeper,这里并没有使用zookeeper-exporter的方式进行监控,主要是由于zookeeper-exporter提供的相关指标不太全,zookeeper官网提供的监控指标信息可参看如下地址:https://github.com/apache/zookeeper/blob/master/zookeeper-server/src/main/java/org/ap......