代码之家  ›  专栏  ›  技术社区  ›  pwoltschk

Horizontal Pod Autoscaler(HPA)如何评估带有侧车容器的吊舱的指标?

  •  0
  • pwoltschk  · 技术社区  · 2 年前

    我目前正在浏览Horizontal Pod Autoscaler(HPA)行为的复杂性,该行为是在容纳sidecar容器的pods的上下文中进行的。上下文如下:

    我已经建立了一个提供图像的pod,并与一个运行nginx进行缓存的sidecar容器配对。两个容器都定义了自己的资源请求。虽然该系统运行良好,但我正在寻求HPA规模决策过程的明确性。

    目前,HPA在CPU请求使用率达到80%时触发缩放。但是,我不确定HPA是单独评估每个容器的度量,还是综合考虑两个容器的度量。

    从本质上讲,HPA是否单独分析单个容器的指标?如果是,它如何优先考虑他们的评估?或者,在评估CPU请求消耗时,它是否将两个容器视为一个单元?

    如果您能深入了解HPA在这一特定设置中的度量评估方法,我将不胜感激。谢谢你的帮助!

    0 回复  |  直到 2 年前
        1
  •  0
  •   jmvcollaborator    2 年前

    根据Kubernetes官方 documentation

    HorizontalPodAutoscaler API还支持容器度量源 HPA可以跟踪各个容器的资源使用情况 以扩展目标资源。这让 为最重要的容器配置缩放阈值 在特定的Pod中。例如,如果您有一个web应用程序和 登录sidecar,可以根据web的资源使用情况进行扩展 应用程序,忽略sidecar容器及其资源使用。

    如果您修改目标资源以具有新的Pod规范 一组不同的容器,如果 新添加的容器也应该用于缩放。如果 度量源中指定的容器不存在或仅存在 存在于pod的子集中,则忽略这些pod 重新计算建议。

    要使用容器资源进行自动缩放,请定义一个度量源,如下所示,HPA控制器缩放目标,以使 应用程序容器 占所有豆荚的60%

    type: ContainerResource
    containerResource:
      name: cpu
      container: application
      target:
        type: Utilization
        averageUtilization: 60
    

    Additional info with algorithm used by HPA