Horizontal Pod Autoscaler (HPA) 是 Kubernetes 中用于自动扩展无状态应用(如 Deployment、ReplicaSet、StatefulSet)的关键组件。它的核心目标是根据当前的负载情况(如 CPU 利用率、内存使用量或自定义指标),自动调整 Pod 的副本数量(Replicas)。 HPA 的工作原理可以概括为一个“控制回路(Control Loop)”,其周期性地(默认 15 秒)执行“监测 -> 计算 -> 调整”的过程。 以下是 HPA 工作原理的详细步骤解析: --- 1. 核心组件 在理解流程之前,需要知道参与的几个关键角色: HPA Controller: 运行在 中,是 HPA 的大脑。 Metrics Server: 负责收集集群的基础资源指标(CPU、内存)。如果没有安装它,HPA 无法基于 CPU/内存扩缩容。 Custom/External Metrics API: 如果基于 QPS、队列长度等指标扩缩容,需要通过 Prometheus Adapter 等组件提供这些 API。 Scale Target: 被扩...