【问题标题】:CPU based horizontal pod autoscaling doesn't work in kubernetes cluster基于 CPU 的水平 pod 自动缩放在 Kubernetes 集群中不起作用
【发布时间】:2021-02-22 00:41:39
【问题描述】:

我正在尝试为部署在 AWS 中的 Kubernetes 集群测试水平 pod 自动缩放功能(使用 EKS)。

我已在 YAML 文件中将 Resource 设置为“CPU”,将目标类型设置为“Utilization”,并将“averageUtilization”设置为 15。

所以从技术上讲,当 CPU 使用率达到 15% 设定的百分比时,Kubernetes 集群应该自动水平扩展(自动添加 pod)。这是 YAML 文件的重要部分:

    maxReplicas: 11
    metrics:
    - type: Resource
      resource:
        name: cpu
        target:
          type: Utilization
          averageUtilization: 15

我将大量 HTTP 流量注入 Kubernetes 集群,但所有 pod 稳定在 35% - 36% 的 CPU 与 5 或 6 个 pod 并且它们不会创建额外的 pod 以将平均 CPU 利用率降低到 15%(这我在 YAML 文件中设置为“averageUtilization”)。

无论我调试和运行多少次测试,情况都是一样的。我在这里做错了什么,我错过了什么吗?

【问题讨论】:

    标签: kubernetes kubectl kubernetes-pod amazon-eks


    【解决方案1】:

    您是否检查了metrics-server 已启用?启用hpa:https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-metrics-apis是必需的。

    这里是metrics-server 文档:https://github.com/kubernetes-sigs/metrics-server。为了快速测试它并检查它是否解决了您的问题,您可以禁用 TLS:--kubelet-insecure-tls。在生产环境中,您需要再次启用 TLS。

    要检查metrics-server 是否已启用,您可以运行kubectl top 命令。它需要几秒钟才能启动,因为它需要先收集一些指标。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 2021-03-04
      相关资源
      最近更新 更多