【k8s篇】k8s自动扩缩容hpa

本文详细介绍了K8s自动扩缩容的HPA组件,包括不同API Version的区别,如autoscaling/v1和autoscaling/v2beta2对自定义指标和多指标的支持。重点讲解了如何使用Prometheus Adapter实现自定义指标,并提供了adapter-config的配置示例。此外,还探讨了HPA的行为配置,如扩缩策略、稳定窗口和behavior字段的用法。
摘要由CSDN通过智能技术生成

k8s自动扩缩容

API Version版本及区别

autoscaling/v1 : 只支持基于 CPU 指标的扩缩

autoscaling/v2beta2

  1. k8s 1.6+)自定义指标。Horizontal Pod Autoscaler 支持使用自定义指标。 你可以使用 autoscaling/v2beta2 API 为 Horizontal Pod Autoscaler 指定用户自定义指标。 Kubernetes 会通过用户自定义指标 API 来获取相应的指标。
  2. k8s 1.6+)多指标支持。支持基于多个度量值进行扩缩。 你可以使用 autoscaling/v2beta2 API 来为 Horizontal Pod Autoscaler 指定多个指标。 Horizontal Pod Autoscaler 会根据每个指标计算,并生成一个扩缩建议。 幅度最大的扩缩建议会被采纳。
  3. k8s 1.18+)v1.18开始,v2beta2 API 允许通过 HPA 的 behavior 字段配置扩缩行为

Metric API支持

  • 资源指标,将使用 metrics.k8s.io API,一般由 metrics-server 提供。 它可以做为集群插件启动。
  • 自定义指标,将使用 custom.metrics.k8s.io API。 它由其他度量指标方案厂商的“适配器(Adapter)” API 服务器提供。 确认你的指标流水线,或者查看已知方案列表 (Prometheus Adapter, Microsoft Azure Adapter , Kube Metrics Adapter等均基于实现该接口)。 如果你想自己编写,请从 boilerplate开始。
  • 外部指标,将使用 external.metrics.k8s.io API。可能由上面的自定义指标适配器提供。

使用自定义指标

以下均以prometheus为自定义指标来源进行说明

1. 流程图

HPA调用流程

2. Prometh

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值