Azure虚拟机规模集 & 自动缩放

17 Mar 2025 | 4 分钟阅读

虚拟机规模集

规模集是Azure计算资源,可用于部署和管理相同的VM。它们旨在支持虚拟机自动缩放。可以使用Azure门户、JSON模板和REST API创建VM规模集。要增加或减少规模集中的VM数量,我们可以更改容量属性并重新部署模板。虚拟机规模集是在VNET内部创建的,规模集中的单个VM未分配公共IP地址。

我们部署的任何虚拟机,只要是虚拟机规模集的一部分,都不会被分配公共IP地址。因为有时,虚拟机规模集将具有前端负载均衡器来管理负载,并且该负载均衡器将具有公共IP地址。我们可以使用该公共IP地址并连接到虚拟机规模集中的底层虚拟机。

虚拟机自动缩放

自动缩放使我们能够根据服务的负载动态地分配或删除资源。您可以指定要运行的实例的最大数量和最小数量,并根据范围内的规则集添加或删除VM。

Azure Virtual Machine Scale Set & Auto Scaling

自动缩放的第一步是选择一个指标或时间。因此,它可以是基于指标的自动缩放,也可以是基于计划的自动缩放。指标可以是CPU利用率等,时间可以是晚上6点到早上6点,我们想减少服务器数量。我们可以有一个基于计划的自动缩放。如果我们要根据负载进行缩放,那么我们可以使用基于指标的自动缩放。

自动缩放的下一步是定义一个带有条件的规则。例如-如果CPU利用率高于80%,则启动一个新实例。满足条件后,我们可以执行一些操作。这些操作可以是添加或删除虚拟机,或者向系统管理员发送电子邮件等。我们需要选择是基于时间的自动缩放还是基于指标的自动缩放,并且我们需要选择指标。我们定义规则和操作,当满足该规则中的条件时,需要触发这些规则和操作。

水平和垂直缩放

  • 水平缩放: 增加或减少VM实例的数量。它水平自动缩放,有时称为横向扩展或横向收缩。
  • 垂直缩放: 在此,我们保持相同数量的VM,但使VM的功能更强或更弱。功率以内存,CPU速度,磁盘空间等来衡量。它受到同一区域内更大硬件可用性的限制,并且通常需要VM启动和停止。有时称为向上扩展或向下扩展。以下是实现垂直缩放的步骤。
    1. 设置Azure自动化帐户
    2. 将Azure自动化垂直缩放Runbook导入到我们的订阅中。
    3. 将Web钩子添加到我们的网络。
    4. 向虚拟机添加警报。
  • 我们还可以缩放Web应用程序和云服务。

自动缩放的指标

  • 计算指标: 可用指标将取决于已安装的操作系统。对于Windows,我们可以拥有处理器,内存和逻辑磁盘指标。对于Linux,我们可以拥有处理器,内存,物理和网络接口指标。
  • Web应用程序指标: 它包括CPU和内存百分比,磁盘和HTTP队列长度以及已接收/发送的字节数。
  • 存储/服务总线指标: 我们可以按存储队列长度进行缩放,存储队列长度是存储队列中的消息数。存储队列长度是一个特定的指标,应用的阈值将是每个实例的消息数。

实施自动缩放的工具

  • 我们可以使用Azure门户创建规模集并根据指标启用自动缩放。
  • 我们可以使用资源管理器模板来配置和部署VM规模集。
  • 可以使用Azure CLI,PowerShell,REST以及直接从Visual Studio部署ARM模板

缩放Azure虚拟机

步骤1: 转到Azure Marketplace,然后在虚拟机规模集中键入。 然后点击创建。

Azure Virtual Machine Scale Set & Auto Scaling

步骤2:我们需要为此规模集命名。 并填写所有其他必需的详细信息,如下图所示。 然后点击创建。

Azure Virtual Machine Scale Set & Auto Scaling

步骤3:现在,您的虚拟机规模集已成功部署。要查看VMSS,您可以转到资源。

步骤4:现在,点击缩放。提供自动缩放设置名称。并选择资源组。

步骤5:向下滚动,您将找到两种自动缩放的方式。首先,点击“添加规则?” 以基于指标进行自动缩放。如果CPU利用率的平均百分比高于70%,我们将缩放虚拟机。

步骤6:现在,选择基于时间和日期的缩放,您可以在需要更多空间时进行缩放。最后一件事是通知,每当触发自动缩放时,您都会收到通知。


下一个主题Azure备份