欢迎光临带式输送机网站,我们是进行标准化生产出售

带式输送机生产厂家_煤矿带式传动装置_标准矿用倾角输送带
带式输送机

提供各行各业全方位的生产设备服务

基于Prometheus,AlerManager的Kubernetes自动扩展

作者:八月      发布时间:2021-04-20      浏览量:3
到目前为止,Kubernetes对基于C

到目前为止,Kubernetes对基于CPU利用率的水平吊舱自动缩放有很好的支持,但基于自定义度量的HPA支持并不完善,使用也不方便。

下面介绍了一种基于Prometheus和AlertManager的Kubernetes Pod自动缩放方案,它支持任意的自定义度量。其思想很简单:Prometheus负责收集所需的性能指标(如当前链路并发数、当前CPU利用率等),根据定义的警报规则生成警报事件,然后将警报事件传递给AlertManager。由触发触发来实现最终的来实现最终的伸缩功能,如下图所示:

Prometheus中Alert Rules的配置示例:

警告HpaTrigger如果app_Active_来实现最终的_Count>30用于30m标签{serverity=“page”,触发器=“hpa”,action=“Scale-out”,value=“{{$value}}”,Deploy=“test”,命名空间=“{$标签”。命名空间}“}注释{汇总=”实例{$labels.命名空间}}:Scale-out,Description=“{$labels.Namespace}autoScale-out”}

上述规则表明,如果应用的活动任务的数量超过30分钟,则需要创建一个新的POD来处理过多的任务。但是,水平POD自动缩放功能并不是在这里直接触发的.Prometheus只根据警报规则生成一个警报事件,并将事件传递给警报管理器,以决定如何处理警报。

1,AlertManager配置示例:

全局:路由:接收方:‘电子邮件’#全局配置路由默认情况下收到的警报事件发送给电子邮件接收组_WAIT:30S组_Interval:5m重复间隔:4条路由:-接收器:‘auto-hpa’#将触发器=hpa警报路由到自动-hpa匹配:触发器:hpa接收者:-name:‘email’email_contgs:-to:ops@test.com from:Monitor@test。Com Smarthost:smtpserver:portauth_username:“username”auth_Identity:“username”auth_Password:“Password”http://YOUR_WEBHOOK_IP:PORT/hpa‘_tls:true-name:“auto-hpa”web钩子_trugs:-url:’http://YOUR_WEBHOOK_IP:PORT/hpa‘#自定义web钩子url地址。发送解析:真。在

AlertManager接收到相应的警报后,它将特定的imi值(此处的度量名为app_activetcount)和在告警规则中定义的标签信息合并到一个json数据中,并将其作为POST发送给我们定义的web钩子url。

2,web钩子Python脚本示例:

从烧瓶导入瓶中提取相关数据,调用K8sAPI实现水平荚自动缩放函数#。path(“/hpa”,method=[“post”])def hpa():content=request.get_json()#AnalysisContent字段,提取相关数据,调用K8sAPI实现水平荚自动缩放函数#。#.

这里我省略了专门调用K8sAPI来实现POD扩展的逻辑。AlertManager将json格式的所有信息发布到我们的自定义脚本中,具体如何处理,具体取决于业务需求。