首页 > 其他 > 详细

k8s学习记录,HPA(十一)

时间:2021-05-17 00:30:27      阅读:13      评论:0      收藏:0      [点我收藏+]

水平自动扩容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(十一)

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!