【问题标题】:How to autoscale Kubernetes Pods based on average memory usage in EKS?如何根据 EKS 中的平均内存使用量自动扩展 Kubernetes Pod?
【发布时间】:2020-09-12 12:50:56
【问题描述】:

我正在运行一个 EKS 集群,并且我创建了一个 HorizontalPodAutoscaler,用于根据平均 CPU 利用率自动缩放 Pod 数量。

如何为平均内存利用率做同样的事情?

假设在 EKS 集群中运行的所有 pod,平均使用了分配给它们的 70% 的内存(使用 resources),那么应该自动扩展部署。

如何做到这一点?在CloudWatch 中创建自定义指标是唯一的方法吗?

即使 cloudWatch 是唯一的方法,如何做到这一点?是否有特定的文档或教程或博客可以做到这一点?

【问题讨论】:

    标签: kubernetes amazon-cloudwatch autoscaling amazon-eks hpa


    【解决方案1】:

    请尝试以下HPA 配置对象。

    apiVersion: autoscaling/v2beta1
    kind: HorizontalPodAutoscaler
    metadata:
      name: nginx-hpa
      namespace: default
    spec:
      scaleTargetRef:
        apiVersion: extensions/v1beta1
        kind: Deployment
        name: nginx
      minReplicas: 2
      maxReplicas: 10
      metrics:
      - type: Resource
        resource:
          name: memory
          targetAverageUtilization: 70
    

    并使用kubectl apply 应用对象

    【讨论】:

    • 这永远行不通。您可以将资源名称更改为wtf,它会通过,但它也会查找wtf 指标。
    • @suren 但 CPU 和内存指标默认由 Kubernetes 提供。我指的是this
    • 苏仁,我很想了解这个对象有什么问题?
    • 对不起。你说的对。我刚刚测试了它并且它有效。以前做过这个,没有成功。我的错。
    • 没问题苏仁,我觉得可以作为答案接受:)
    猜你喜欢
    • 2022-12-19
    • 2021-06-03
    • 1970-01-01
    • 2021-05-15
    • 2016-11-15
    • 2018-10-14
    • 1970-01-01
    • 2018-10-01
    • 2018-12-07
    相关资源
    最近更新 更多