Azure 虚拟机规模集的工作原理
使用 Azure 虚拟机规模集可以创建并管理一组负载均衡的 VM。 虚拟机 (VM) 实例的容量或数量可以自动增加或减少,以响应你配置的计划或达到你定义的性能指标的时间。 虚拟机规模集中的 VM 实例可以具有相同的配置或不同的配置。
虚拟机规模集能实现应用程序的高可用性和缩放。 虚拟机规模集使你可以集中管理、配置和更新大量 VM。 可以使用虚拟机规模集为计算、大数据和容器工作负荷等领域生成大规模的服务。
规模集旨在实现成本效益、可伸缩性和可靠性。 仅在需要时才创建新的 VM 实例,不再需要时将其删除。 需要新实例时,将从模板映像生成这些实例,以配置实例和应用程序。 Azure 虚拟机规模集让你能在单个规模集中运行多达 1,000 台 VM。
缩放规模集
虚拟机规模集可满足为应对工作负载量波动而迅速创建和管理虚拟机的需求。 可以为规模集配置两种类型的缩放:
计划缩放:可以主动计划一个规模集,用于部署一个或 N 个额外实例来处理流量峰值,并在流量峰值结束时重新减少实例数。
自动缩放:如果工作负载不断变化,且不总是能够制定计划,可以使用基于指标的阈值缩放。 自动缩放会根据节点使用情况进行横向扩展。 然后,当资源返回基线时,它会缩减。
自动缩放基于一组缩放条件、规则和限制。 缩放条件包含时间和一组缩放规则。 如果当前时间处于缩放条件所定义的时段内,则评估该条件的缩放规则。 此评估结果决定是否在规模集中添加或删除实例。
缩放条件还定义缩放的最大和最小实例数限制。 通过限制最大指标数,可以限制要创建的 VM 数,以便计划外流量激增不会自动产生意外的订阅费用。
可以基于以下内容进行自动缩放:
计划:如果知道在指定日期/时段内工作负载会增加,可以使用此方法。 基于计划的缩放需指定开始和结束时间以及要添加到规模集的实例数。
指标:通过监视与规模集关联的性能指标来调整缩放。 如果这些指标超过指定阈值,规模集可以自动启动新的虚拟机实例。 如果指标表明不再需要额外资源,规模集可以停止任何多余的实例。
这些指标通常用于监视虚拟机规模集:
CPU 百分比:此指标指示所有实例的 CPU 使用率。 较高的值表示实例正占用大量 CPU,这可能造成处理客户端请求出现延迟。
入站流和出站流:这些指标表示网络流量流入和流出规模集中虚拟机的速度。
磁盘读取操作次数/秒和磁盘写入操作次数/秒:这些指标表示规模集中的磁盘 I/O 量。
数据磁盘队列深度:该指标表示有多少针对虚拟机上数据磁盘的 I/O 请求正在等待服务。
虚拟机规模集可以包含许多缩放条件。 将针对每个匹配的缩放条件进行操作。 规模集还包含默认缩放条件,在其他任何缩放条件与当前时间和性能指标均不匹配时,系统会使用该默认缩放条件。
默认缩放条件始终处于活动状态。 此类条件不包含缩放规则,有效地充当无法缩放的 null 缩放条件。但是,可以修改默认缩放条件来设置默认实例数,或者可以添加一对缩放规则来实现先增后减。
Azure Spot 实例的规模集
通过由 Azure 现成实例 VM 组成的虚拟机规模集,能在节省高达 80% 成本的情况下使用 Azure 计算资源。 在全局 Azure 基础设施中,未充分利用的计算资源经常变得可用。 使用 Spot 实例的规模集使你可以通过使用这种未充分利用的计算能力节省资金。
注意
使用这些虚拟机时,请记住它们是临时的。 可用性取决于大小、区域、当日时间等。 这些虚拟机没有 SLA。
当 Azure 再次需要计算能力时,你会收到通知,内容为已从规模集中删除 VM。 如果工作负载存在运行中断,或者需要以较低成本使用更大虚拟机,在规模集中使用 Spot 实例非常有用。 请记住,无法控制何时删除虚拟机。
虚拟机规模集与手动 VM 池有何不同
规模集是使用虚拟机构建的。 使用规模集时,会提供管理层和自动层来运行和缩放应用程序。 在虚拟机规模集可用之前,组织通常手动创建和管理单个 VM,或集成现有工具以构建类似级别的自动化。
该表概述了规模集的优势(与手动管理多个 VM 实例相比)。
方案 | VM 的手动组 | 虚拟机规模集 |
---|---|---|
添加额外的 VM 实例 | 用于创建、配置和确保符合性的手动过程 | 自动根据中心配置进行创建 |
流量均衡和分发 | 用于创建和配置 Azure 负载均衡器或应用程序网关的手动过程 | 可以自动创建 Azure 负载均衡器或应用程序网关以及与之集成 |
高可用性和冗余性 | 手动创建可用性集,或者跨可用性区域分发和跟踪 VM | 跨可用性区域或可用性集自动分发 VM 实例 |
VM 缩放 | 手动监视和 Azure 自动化 | 根据主机指标、来宾中指标、Application Insights 或计划自动缩放 |