【问题标题】:Does HPA(Horizontal pod autoscaling) considers the mean of CPU utilization of multiple containers(in a pod) to scale the pods?HPA(Horizo​​ntal pod autoscaling)是否考虑了多个容器(在一个 pod 中)的 CPU 利用率平均值来扩展 pod?
【发布时间】:2018-02-18 12:18:45
【问题描述】:

我想知道,如果 HPA 考虑一个 pod 中多个容器的 CPU 利用率平均值,以便按比例放大/缩小数量。豆荚。例如,如果我为具有 2 个容器的部署(pod)指定如下所示的 HPA。为了让 HPA 扩大规模,是否需要两个容器的 CPU 利用率都达到 80%?换句话说,如果 容器 A 的 CPU 利用率为 80%,而 容器 B 的 CPU 利用率仅为 60%。这是否意味着 pod 不会被 HPA 放大。据我观察,情况就是这样。但我不确定这一点,因为在 kubernetes 文档中没有明确声明。不幸的是,我不是最能从源代码中弄清楚这一点的开发人员。任何帮助,如果可能的话,将不胜感激。非常感谢。

apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
  name: blackbox-rc-hpa
  namespace: monitoring
spec:
  scaleTargetRef:
    apiVersion: v1
    kind: extensions/v1beta1
    name: blackbox
  minReplicas: 1
  maxReplicas: 4
  targetCPUUtilizationPercentage: 80

【问题讨论】:

    标签: kubernetes kubectl kubernetes-health-check


    【解决方案1】:

    targetCPUUtilizationPercentage 有 10% 的容差。在您的情况下,平均 cpu 利用率应大于 88% 以触发扩大,小于 72% 以缩小。由于平均 CPU 利用率为 70%,因此您的副本将缩减为 1。

    【讨论】:

      【解决方案2】:

      控制器将利用率值计算为每个 pod 中容器的百分比,然后取平均值。 所以在你的场景中,平均值将是 70% https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/

      【讨论】:

        【解决方案3】:

        请求的 pod 资源是其所有容器请求的资源的总和。因此,在这种情况下,您的 CPU 利用率可能为 70%。

        【讨论】:

          猜你喜欢
          • 2020-01-16
          • 1970-01-01
          • 2019-08-22
          • 1970-01-01
          • 1970-01-01
          • 2020-02-05
          • 2022-08-20
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多