码迷,mamicode.com
首页 > 其他好文 > 详细

k8s学习记录,HPA(十一)

时间:2021-05-24 13:11:21      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:访问   不能   code   custom   添加   其他   image   通过   使用率   

水平自动扩容HPA【Horizontal Pod Autoscaler】将流量分配到更多的节点上去

  • 通过监听Pod的内存或者CPU使用率,达到警告值时来进行自动扩容

HPA v1为稳定版自动水平伸缩,只支持CPU指标

v2为beta版本,分为v2beta1和v2beta2

1、beta1:支持CPU、内存和自定义指标

2、beta2:支持CPU、内存、自定义指标Custom和额外指标ExternalMetrics

kubectl get  apiservices | grep auto

技术图片

#创建一个deploy  hpa-nginx,【dry-run=client表示创建后但是不启动】 【-oyaml > hpa-nginx.yaml表示将yaml】
kubectl create deploy hpa-nginx --image=nginx:1.15.3 --dry-run=client -oyaml > hpa-nginx.yaml

#打开yaml文件,在resources下面添加requests节点,cpu: 10m
spec:
      containers:
      - image: nginx:1.15.3
        name: nginx
        resources:
          requests:
            cpu: 10m

#根据文件创建deploy
kubectl create -f hpa-nginx.yaml

#暴露deploy的端口
kubectl expose deploy hpa-nginx --port=80

#自动扩容deploy nginx-server    监控cpu大于10%就进行扩容,最小1个副本,最大10个副本
kubectl autoscale deployment hpa-nginx --cpu-percent=10 --min=1 --max=10

kubectl get hpa
#如果HPA管理的deploy对应的Pod,有重复的label,那么有可能获取不到targets,一直显示unknown

技术图片

新开终端,使用死循环访问nginx,模拟访问nginx

while true; do wget -q -O- http://10.96.0.61 > /dev/null; done

技术图片

技术图片

当停止访问后,hpa监控的CPU值下降后,pod会自动进行缩容

技术图片

  1. 必须安装metrics-server或其他自定义metrics-server
    2.必须配置requests参数
    3.不能扩容无法缩放的对象,比如DaemonSet
    4.后端一般不做hpa

k8s学习记录,HPA(十一)

标签:访问   不能   code   custom   添加   其他   image   通过   使用率   

原文地址:https://www.cnblogs.com/creamk87/p/14770556.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!