|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
关于HPA的背景信息
水平Pod自动扩缩器(HPA)是Kubernetes的一项功能,允许您配置集群以自动扩展正在运行的服务。本节提供有关HPA如何与Kubernetes协同工作的解释。
为什么使用水平Pod自动扩缩器?
使用HPA,您可以对复制控制器、部署或副本集中的Pod数量进行自动扩缩。HPA会自动扩缩运行中的Pod数量,以实现最高效率。影响Pod数量的因素包括:
-
用户定义的允许运行的最小和最大Pod数量。
-
资源指标中报告的CPU和内存使用情况。
-
第三方指标应用程序提供的自定义指标,如Prometheus、Datadog等。
HPA通过以下方式改善您的服务:
-
释放本来会因过多Pod而浪费的硬件资源。
-
根据需要提高或降低性能,以满足服务等级协议。
HPA的工作原理
HPA以控制循环的形式实现,其周期由下面的`kube-controller-manager`标志控制:
| 标志 | 默认值 | 说明 |
|---|---|---|
|
|
HPA在部署中审核资源/自定义指标的频率。 |
|
|
在完成缩减操作后,HPA必须等待多长时间才能启动另一个缩减操作。 |
|
|
在完成扩展操作后,HPA必须等待多长时间才能启动另一个扩展操作。 |
有关HPA的完整文档,请参阅 Kubernetes文档。
水平Pod自动扩缩器 API 对象
HPA 是 Kubernetes autoscaling API 组中的一个 API 资源。当前稳定版本是 autoscaling/v1,仅支持 CPU 自动扩缩。要获得基于内存和自定义指标的扩缩支持,请使用测试版:autoscaling/v2beta1。
有关 HPA API 对象的更多信息,请参见 HPA GitHub 说明文档。