【问题标题】:Kubernetes HPA based on available healthy pods基于可用健康 Pod 的 Kubernetes HPA
【发布时间】:2020-02-27 16:40:31
【问题描述】:

是否可以根据可用的正在运行的 pod 数量来扩展 HPA?

我已经设置了一个就绪探针,它会根据其内部状态(空闲、工作、忙碌)切断一个 pod。当 pod 处于“忙碌”状态时,它不再接收新请求。但是对cpu和内存的要求很低。

我不想根据 cpu、mem 或其他指标进行扩展。

看到就绪探测将其从活动服务中移除,我可以根据活动(非繁忙)Pod 的平均数量进行扩展吗?当该数字低于某个点时,更多的 pod 会被缩放。

TIA 有任何建议。

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    您可以创建custom metrics,多个busy-pods 用于HPA。 也就是说,应用程序应该在忙碌时发出一个度量值。并使用该指标创建 Horizo​​ntalPodAutoscaler。

    类似这样的:

    apiVersion: autoscaling/v2beta1
    kind: HorizontalPodAutoscaler
    metadata:
      name: custom-metric-sd
      namespace: default
    spec:
      scaleTargetRef:
        apiVersion: apps/v1beta1
        kind: Deployment
        name: custom-metric-sd
      minReplicas: 1
      maxReplicas: 20
      metrics:
      - type: Pods
        pods:
          metricName: busy-pods
          targetAverageValue: 4
    

    Here 是另一个具有自定义指标的 HPA 参考。

    【讨论】:

    • 感谢您的建议。
    猜你喜欢
    • 1970-01-01
    • 2020-04-16
    • 2020-01-26
    • 2022-08-04
    • 2022-01-18
    • 1970-01-01
    • 2021-10-26
    • 2020-04-19
    • 1970-01-01
    相关资源
    最近更新 更多