如何在Azure VMSS中的内存上定义自动缩放规则

时间:2019-05-16 02:26:07

标签: azure memory kubernetes azure-virtual-machine azure-vm-scale-set

我已经在Azure门户中创建了VMSS,以具有针对我的应用程序的自动缩放功能。我的应用程序驻留在Kubernetes集群中-大约有10个微服务。

我想创建一个横向扩展规则,即如果没有足够的内存,则增加VM实例。但是我看不到基于内存设置规则的选项。我们可以根据CPU利用率,磁盘空间等来定义一些规则。但是,这不能帮助我解决问题。为了使我的10个微服务能够使用具有5个Pod的每个服务,我需要基于内存设置一个规则。如果我基于CPU设置规则,则由于CPU利用率不高,因此VM无法扩展。问题出在内存上。

我收到错误消息“ 0/3个节点可用:3个豆荚不足。 节点资源不足:[MemoryPressure]。 “

我了解到内存规则在Azure的主机指标中不可用,但可以通过来宾指标启用。要启用访客指标,请参见下面的链接。

{{3}}

但是我没有看到以上链接中定义的编辑模板的选项。对于VMSS,只有“导出模板”选项可见,您无法在其中编辑模板。

有人可以帮助我解决这个问题,为Azure中的VMSS定义内存规则吗?

未看到为VMSS启用访客指标的选项。没有编辑模板的选项,只有“导出模板”选项可见,您无法在其中编辑模板。

1 个答案:

答案 0 :(得分:1)

对于AKS自动缩放,您只需要为AKS集群启用自动缩放功能,设置节点的最小和最大数量,然后它将自动缩放。您无需为其设置自动缩放规则。看看AKS cluster autoscale

集群自动缩放器何时更改集群的大小?

在以下情况下,群集自动缩放器会增加群集的大小:

  • 在任何当前节点上有无法调度的Pod 由于资源不足。
  • 添加与集群中当前存在的节点相似的节点 会有所帮助。

在某些时间段内始终不需要某些节点时,群集自动缩放器会减小群集的大小。当节点利用率低并且所有重要的Pod都可以移动到其他地方时,则不需要该节点。

正如您在VMSS中看到的那样,度量服务器已安装在高版本的AKS中。如果未安装,则可以自己安装步骤here