Kubernetes:集群自动缩放器:如何验证自动缩放是否有效

时间:2020-06-02 06:41:35

标签: kubernetes scaling eks

我正在使用我们的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中未添加任何扩展策略。群集自动缩放器是否需要它们?如何验证群集自动缩放器正常工作?我想念什么?

1 个答案:

答案 0 :(得分:1)

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

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

获取垂直吊舱缩放