基于Prometheus-adapter的自定义指标的HPA
文章目录
此为关于Prometheus-adapter
的第二篇,其一基础以及安装请见其一.
虽然有Kube-Prometheus
与Prometheus-adapter
两大组件加持,HPA
除了原生的CPU
与内存
,还有蛮多选择。但要想真正贴合业务实现自义指标的HPA
(如基于QPS
)。还是差点火候。有时想想开源就是这样,总感觉产品拿过来直接用还是有点不顺手,总归是要自己改造下才好用。
此为思路指导,实践感觉还是有点麻烦,先理下思路,后续有需求再细细研究。
总体步骤
-
应用实现一个
/metrics
接口,导出需要的指标,如http_request
。每次接收HTTP
请求时,加1 -
更改
Promthes-adapter
的ConfigMap
,将自定义的指标添加。如何配置,可以参考这里 -
创建
Monitor
对象,告诉Prometheus adapter
需要从哪里获取指标,可以参考这里 -
创建
HPA
对象,参考这里
其他
按官方推荐的与目前大家通用的做法,我感觉还是过于复杂。K8S
集群中需要安装一堆组件,还要业务代码加东西。我感觉还是很麻烦。下面是不麻烦的选项
-
通过解析
Ingress NGINX
的访问日志来计算后端Pod
的QPS
,根据QPS
进行弹性伸缩
文章作者 UnknowName
上次更新 2021-09-15