日志|再次升级-Kubernetes Ingress监控进入智能时代( 三 )


日志|再次升级-Kubernetes Ingress监控进入智能时代
文章图片

文章图片

日志|再次升级-Kubernetes Ingress监控进入智能时代
文章图片

文章图片

HPA(Horizontal Pod Autoscaler)是Kubernetes提供的一个标准组件 , 用于POD的横向自动扩缩容 , 例如:当Pod CPU、内存等指标上升到一定程度时会自动扩容 , 当这些指标下去后会自动缩容 。这样能够保证在用户体验不变的情况下集群整体的资源使用都能处于一个较低的位置 。默认的HPA只能针对集群的一些标准指标(CPU、内存、网络等)进行扩容 , 这种扩容方式相对静态 , 而且反应不出业务的情况 。因此我们对HPA进行了一些扩展 , 支持按照Ingress访问QPS进行扩容 。即可以设置某个Service下的Pod限定能够处理的QPS , 当QPS上升到一定高度时会自动扩容一些Pod/节点 , 当QPS下降时会自动缩容一些Pod/节点 。
HPA的预测原理是判断某些指标的值进行扩缩容 , 而指标的值相对来说都有10-30秒左右的延迟 , 并且还有几次的double check时间 , 因此从压力上升到扩容的时间基本上在2-3分钟左右 , 如果Pod启动还需要预热的话可能要更久 , 这段期间用户的访问请求很可能会出现高延迟或错误的情况 。因此最好的方式是我们能够提前知道未来几分钟的访问请求量 , 当我们发现未来访问请求会很高的时候 , 提前把Pod扩容出来并进行预热 , 这样可以在请求真正提升时Pod的资源已经提前分配好 。为此我们结合SLS与阿里云达摩院联合研发的多模型预测算法 , 实时预测Ingress上每个服务的访问请求 , 并把这些预测的指标提供给HPA做动态扩容 , 能够在请求量即将超过阈值的时候提前扩出Pod/节点 , 保证用户访问一直流畅 。
Ingress访问日志中心提供了访问日志分析、秒级监控指标分析、实时告警等功能 , 并提供基于AIOps的自动异常巡检功能 。基于这些功能我们可以快速构建出一套企业级的监控系统 , 能够以非常小的工作量实现公司所有访问入口的统一监控 。
作者:元乙


推荐阅读