实现缩放

已完成

对于 Contoso 而言,虚拟机规模集也许能满足他们的需求:快速地创建和管理 VM 以适应波动的工作负荷。 使用纵向缩放或横向缩放都能满足他们的需求。

什么是纵向缩放?

纵向缩放,也称为纵向扩展和纵向缩减,即增大或减小 VM 大小,以对使用情况进行响应。 实现纵向缩放时,可能会重新配置现有的 VM。 在没有重新配置现有 VM 时,它们会被容量更高的 VM 替换。

删除现有 VM 并将其替换为新 VM 的过程被称为“重新预配”。 增加或减少虚拟机规模集中 VM 的大小时,某些情况下需要调整现有 VM 的大小并保留数据,而在其他情况下则需要部署更大的新 VM。

以下情况下,垂直缩放非常有用:

  • VM 上构建的服务没有得到充分使用(也许是周末)。 减小 VM 的大小可以减少每月成本。
  • 增加 VM 的大小以处理更大的需求,而无需创建其他 VM。

可将垂直缩放设置为基于指标从虚拟机规模集触发警报。 警报被激活时,将触发 Webhook,此 Webhook 将激活会对规模集进行纵向扩展或纵向缩减的 Runbook。 可以使用以下高级过程执行垂直缩放:

  1. 使用运行时功能创建 Azure 自动化帐户。
  2. 将虚拟机规模集的 Azure 自动化垂直缩放 Runbook 导入订阅中。
  3. 将 Webhook 添加到 Runbook。
  4. 将警报添加到使用 Webhook 通知的虚拟机规模集。

若要创建垂直规模集,请参阅使用虚拟机规模集进行垂直自动缩放

什么是横向缩放?

横向缩放,也称为横向扩展和横向缩减,其中 VM 数量的更改取决于工作负载。 如果 Contoso 选择横向缩放,则可以通过两种方式配置缩放,如下表中所述。

类型 描述
手动缩放 通过手动缩放,可以维持固定的实例计数,并能在需要时使用手动滑块来调整该计数,从而应对增加的需求。
自定义自动缩放 使用自定义自动缩放,可以按计划或者按指标来进行缩放,也可以将这两种方式相结合。

请考虑以下示例。

示例 1

在 Contoso,星期五晚上通常是公司网站访问量最高的时间。 与之相对的是星期三的早上 7 点,这是最空闲的时间。 Contoso 认为,为了满足星期五晚上的最高需求,他们需要 50 台 Web 服务器。 而在星期三(最空闲的早晨),他们只需要 2 台服务器就能管理需求。 因为 Azure 费用是根据资源消耗来计算的,所以对 Contoso 而言,不使用不需要的服务是很重要的。 对于 Contoso 而言,为了满足几个高峰时段的需求而为 50 台服务器支付一整周的费用当然是不划算的。

在此示例中,创建虚拟机规模集后,Contoso 的管理员在“创建虚拟机规模集”边栏选项卡上选择了该规模集的“缩放”选项卡,然后选择“自定义自动缩放”。 管理员添加了一个新的缩放条件,并定义了适当的计划以满足预期需求。

示例 2

Contoso 正在推出一个新产品,该产品即将上市,IT 支持部门预计公司网站中的流量会增加。 问题在于 IT 支持部门无法确定该需求什么时候会增加或者这种需求增加的情况会持续多久。 尽管如此,他们还是希望能满足增加的需求。 在这种情况下,Contoso 应再次考虑自定义自动缩放。 这种类型的自动缩放会随着需求的增加而横向扩展其基础结构,并在需求下降时缩小规模,恢复原状。

在此示例中,创建虚拟机规模集后,Contoso 的管理员在“创建虚拟机规模集”边栏选项卡上选择了该规模集的“缩放”选项卡。 然后选择“自定义自动缩放”。 管理员添加新的缩放条件,并定义基于指标的缩放方式。 例如,他们可以添加:(平均) 百分比 CPU > 75,将计数增加 1。

创建使用水平缩放的虚拟机规模集

在此过程中,我们将为 Windows Server VM 创建虚拟机规模集。 为此,请安装下列步骤操作:

  1. 在 Azure 门户的搜索框中输入“规模集”。
  2. 在结果中的“市场”下,选择“虚拟机规模集” 。
  3. 在“虚拟机规模集”边栏选项卡上选择“创建虚拟机规模集”。
  4. 在“创建虚拟机规模集”选项卡的“基本信息”中配置以下信息
    • “订阅”和“资源组”
    • 虚拟机规模集名称
    • “区域”和“可用性区域”
    • 映像:Windows Server 2019 Datacenter
    • 大小
    • 管理员帐户详细信息
  5. 选择“下一步”转到其他选项卡。
  6. 在“缩放”选项卡上,配置“初始实例计数”、“缩放策略”以及“缩减策略”。
  7. 选择“查看 + 创建”。
  8. 验证后,选择“创建”以部署规模集。

A screenshot of the Create a virtual machine scale set blade. The administrator has selected all default settings on the Scaling tab.

若要对缩放设置进行自定义,请在“缩放”选项卡上将“缩放策略”选择为“自定义”。 打开新页面后,请配置其他详细信息,然后选择“查看 + 创建”。

A screenshot of the Create a virtual machine scale set blade. The administrator is configuring the Scaling tab, and has selected Custom, which results in more options being available.

正在配置缩放

创建虚拟机规模集后,打开新创建的资源。 在“创建虚拟机规模集”页面的“设置”下,选择“缩放”。 然后可将缩放配置为以下两种模式之一:

  • 手动缩放(默认)
  • 自定义自动缩放

如果要配置自动缩放,请选择“自定义自动缩放”选项,然后对“缩放模式”进行配置,可以基于某项指标(例如虚拟主机 CPU 百分比或特定的实例计数)进行缩放。

A screenshot of the Scaling tab for the selected virtual machine scale set. The administrator is defining a Scale based on a metric, and rules are displayed that indicate when action scaling should be taken.

如果要安排自动缩放,请选择“自定义自动缩放”选项,然后选择“添加缩放条件”。 然后可以指定其他指标,也可以制定一个时间计划来配合已知的需求变化。

A screenshot of the Scaling tab for the selected virtual machine scale set. The administrator is defining a Scale based on a schedule.

试用

如果要执行前面几个单元中描述的某些任务,请通过以下链接访问 Learn 门户中整理的练习。

若要完成这些练习,请获取 Azure 订阅免费试用版。 完成练习后,请删除自己创建的所有资源组。