kubernetes自动伸缩

kubernetes中HPA(pod水平自动伸缩)

一、介绍

HPA的全称为(Horizontal Pod Autoscaling)它可以根据当前pod资源的使用率(如CPU、磁盘、内存等),进行副本数的动态的扩容与缩容,以便减轻各个pod的压力。

当pod负载达到一定的阈值后,会根据扩缩容的策略生成更多新的pod来分担压力,当pod的使用比较空闲时,在稳定空闲一段时间后,还会自动减少pod的副本数量。

二、扩缩容策略

1. 通过伸缩系数判断是否要进行扩容或缩容
HPA会根据获得的指标数值,应用相应的算法算出一个伸缩系数,此系数是指标的期望值与目前值的比值,如果大于1表示扩容,小于1表示缩容。
–horizontal-pod-autoscaler-tolerance:全局配置的容忍值,默认为0.1,如果计算出的缩放比例接近1±容忍值,将会放弃本次缩放。

期望副本数 = ceil[当前副本数 * ( 当前指标 / 期望指标 )]

检查最终的Pod数量是否在HPA设定的数量范围的区间,如果超过最大值或不足最小值都会修改为最大值或最小值。
然后向k8s发出请求,修改伸缩对象的子对象scale的Pod数量

HPA控制器执行缩放操作之前,会记录缩放建议(scale recommendation)。 控制器会在设定时间内考虑所有的建议信息,并从中选择得分最高的建议。
时间可通过kube-controller-manager的启动参数进行配置,常用参数如下:

<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值