根据Nginx Ingress指标对指定后端进行HPA

💡 原文中文,约5700字,阅读约需14分钟。
📝

内容提要

本文介绍了使用Nginx Ingress指标对指定后端进行HPA的方法,实现基于不同域名和路径的请求量弹性指定后端工作负载。操作步骤包括创建弹性目标工作负载、查询指标、创建apiservices资源、添加externalRules规则、重启服务、创建HPA规则等。通过压测验证弹性效果。

🎯

关键要点

  • Nginx Ingress流量通过域名和路径转发至不同应用,CPU和内存不是性能瓶颈时可配置HPA。
  • 环境准备包括部署nginx-ingress和kube-prometheus-stack,确保kubectl命令可用。
  • HPA规则中的scaleTargetRef和describedObject字段无法指定命名空间,需在同一命名空间内。
  • 创建弹性目标工作负载、服务和Ingress以支持HPA。
  • 查询nginx_ingress_controller_requests指标以确保正常。
  • 创建external类型的apiservices资源,状态为false是正常现象,添加externalRules后变为true。
  • 将externalRules添加到adapter的configmap中,并重启prometheus-adapter服务。
  • 重启后等待一段时间,检查指标是否正常。
  • 创建HPA规则,设置最小和最大副本数,以及外部指标的筛选条件。
  • 通过压测验证弹性效果,确保HPA正常触发。
➡️

继续阅读