【问题标题】:Kubernetes : Cluster-Autoscaler: How to verify autoscaling is workingKubernetes : Cluster-Autoscaler: 如何验证自动缩放是否有效
【发布时间】:2020-09-20 13:59:09
【问题描述】:

我正在我们的 EKS 平台上工作,我在该平台上安装了 Cluster Autoscaler。我可以看到它在 Kube Dashboard 中运行。昨天进行负载测试时,我触发了我们拥有的重型应用程序的 20 个副本。每个节点的 cpu 使用率攀升至 100%,但集群自动缩放器没有触发任何额外的节点。我在看日志,日志在主循环中不断旋转,但没有变化。

这是我添加到 ASG、工作节点的标签:

 k8s.io/cluster-autoscaler/enabled : true
  kubernetes.io/cluster/CLUSTER_NAME : owned

我可以看到 pod 在 Dashboard 中运行:

./cluster-autoscaler
--v=4
--stderrthreshold=info
--cloud-provider=aws
--skip-nodes-with-local-storage=false
--expander=least-waste
--node-group-auto-discovery=asg:tag=k8s.io/cluster-autoscaler/enabled,k8s.io/cluster-autoscaler/cluster_name

此外,ASG 中没有添加任何扩展策略。 Cluster Autoscaler 是否需要它们?如何验证集群自动扩缩器是否正常工作?我错过了什么?

【问题讨论】:

    标签: kubernetes scaling amazon-eks


    【解决方案1】:

    实际上,集群自动扩缩器每 10 秒检查一次是否有任何不可调度的 Pod,如果任何 Pod 处于不可调度状态,它将检查自动扩缩组的最小值和最大值。您可以查看自动缩放器的这个美妙的FAQ how-does-scale-up-work。如果未达到最大值,它将请求 aws 自动缩放组再添加一个。

    现在您的问题的答案是,您可以通过注意集群中是否有任何未计划的 pod 来轻松检查或验证自动缩放。如果有,则自动缩放器将尝试添加一个节点,如果未达到最大限制,该节点将反映在自动缩放器日志中。 有关更多详细信息,您可以查看此FAQ。您还可以检查垂直 pod 缩放器以从 here 获取垂直 pod 缩放

    【讨论】:

      【解决方案2】:

      您可以跟踪日志并查看事件。

      kubectl logs -f deployment/cluster-autoscaler -n kube-system --tail=10

      它将显示缩放事件。

      【讨论】:

        猜你喜欢
        • 2020-03-31
        • 2018-04-18
        • 1970-01-01
        • 2019-08-24
        • 2019-06-21
        • 1970-01-01
        • 2022-09-29
        • 2012-04-17
        • 2021-12-30
        相关资源
        最近更新 更多