在Kubernetes中,Horizontal Pod Autoscaler(HPA)通过监控CPU利用率或自定义指标自动调整Pod副本数量。基本步骤为:1)部署应用并定义资源请求;2)创建HPA对象,指定目标CPU利用率或自定义指标,例如kubectl autoscale deployment <name> --min=2 --max=10 --cpu-percent=50
。
延伸知识点:HPA的指标类型。HPA支持多种指标源:
- Resource Metrics:默认基于CPU/内存使用率,依赖Metrics Server提供数据;
- Custom Metrics:通过Prometheus等工具采集应用级指标(如请求延迟、QPS),需配置
metrics.k8s.io/v1beta1
API; - External Metrics:基于集群外系统(如消息队列长度)触发扩缩。例如,使用自定义指标时需在HPA YAML中定义
metrics
字段,指定指标名称和目标值,如pods: { metric: { name: "requests-per-second" }, target: { type: "AverageValue", averageValue: 500 } }
。配置时需确保Metrics Adapter已正确安装并与指标源集成。