Режимы оркестрации для масштабируемых наборов виртуальных машин в Azure

Масштабируемые наборы виртуальных машин обеспечивают логическую группировку виртуальных машин, управляемых платформой. С помощью масштабируемых наборов вы создаете модель конфигурации виртуальной машины, автоматически добавляете или удаляете дополнительные экземпляры на основе загрузки ЦП или памяти и автоматически обновляете ОС до последней версии. В большинстве случаев масштабируемые наборы позволяют создавать виртуальные машины с помощью модели конфигурации виртуальной машины, предоставленной во время создания масштабируемого набора, а масштабируемый набор может управлять только виртуальными машинами, которые создаются на основе модели конфигурации неявно.

Режимы оркестрации масштабируемых наборов позволяют лучше контролировать управление экземплярами виртуальных машин с помощью масштабируемого набора.

Важно!

Режим оркестрации определяется при создании масштабируемого набора и не может быть изменен или обновлен позже.

Масштабируемые наборы с универсальной оркестрацией

Оптимизированы для рабочих нагрузок большого масштаба без отслеживания состояния с идентичными экземплярами.

Масштабируемые наборы виртуальных машин с универсальной оркестрацией используют профиль или шаблон виртуальной машины для масштабирования до требуемой емкости. Хотя есть возможность управлять отдельными экземплярами ВМ и настраивать их, универсальная оркестрация использует идентичные экземпляры виртуальной машины. Отдельные экземпляры виртуальных машин с универсальной оркестрацией предоставляются с помощью команд API виртуальной машины масштабируемого набора виртуальных машин. Отдельные экземпляры несовместимы со стандартными командами API виртуальной машины IaaS Azure, такими функциями управления Azure, как разрешения RBAC для разметки ресурсов Azure Resource Manager, Azure Backup или Azure Site Recovery. Универсальная оркестрация обеспечивает гарантии высокого уровня доступности домена сбоя при настройке с числом экземпляров менее 100. Универсальная оркестрация является общедоступной и поддерживает все функции управления масштабируемыми наборами и их оркестрации, включая автомасштабирование на основе метрик, защиту экземпляра и автоматическое обновление ОС.

Масштабируемые наборы с гибкой оркестрацией

Позволяют достичь высокого уровня доступности в большом масштабе как для идентичных, так и для разных типов виртуальных машин.

Благодаря гибкой оркестрации Azure предоставляет унифицированный интерфейс экосистемы виртуальных машин Azure. Гибкая оркестрация предлагает гарантии высокого уровня доступности (до 1000 виртуальных машин), распределяя виртуальные машины между доменами сбоя в регионе или в зоне доступности. Это позволяет масштабировать приложение, сохраняя изоляцию доменов сбоя, которая необходима для выполнения рабочих нагрузок на основе кворума или с отслеживанием состояния, в том числе для следующих:

  • Рабочие нагрузки на основе кворума
  • Базы данных с открытым кодом
  • Приложения с отслеживанием состояния
  • Службы, требующие высокой доступности и масштабирования
  • Службы, которые собираются сочетать типы ВМ разных типов или использовать точечные виртуальные машины и ВМ по запросу
  • Существующие приложения группы доступности

Изменения при режиме гибкой оркестрации

Одно из основных преимуществ гибкой оркестрации заключается в том, что она предоставляет функции оркестрации для стандартных виртуальных машинам Azure IaaS вместо масштабирования дочерних виртуальных машин. Это означает, что вы можете использовать все стандартные API-интерфейсы виртуальных машин для управления гибкими экземплярами оркестрации вместо API-интерфейсов ВМ масштабируемого набора виртуальных машин, используемых с универсальной оркестрацией. Существует несколько различий между управлением экземплярами при универсальной и гибкой оркестрации. В общем случае мы рекомендуем использовать стандартные API виртуальных машин IaaS Azure, когда это возможно. В этом разделе мы выделим примеры рекомендаций по управлению экземплярами виртуальных машин с гибкой оркестрацией.

Горизонтальное увеличение масштаба с помощью стандартных виртуальных машин Azure

Масштабируемые наборы виртуальных машин в режиме гибкой оркестрации управляют стандартными виртуальными машины Azure. Вы полностью контролируете жизненный цикл виртуальной машины, а также сетевые интерфейсы и диски с помощью стандартных API и команд Azure. Виртуальные машины, созданные в режиме универсальной оркестрации, можно использовать и администрировать с помощью команд API виртуальных машин масштабируемого набора. Отдельные экземпляры несовместимы со стандартными командами API виртуальной машины IaaS Azure, такими функциями управления Azure, как разрешения RBAC для разметки ресурсов Azure Resource Manager, Azure Backup или Azure Site Recovery.

Назначение домена сбоя при создании виртуальной машины

Вы можете выбирать число доменов сбоя для масштабируемого набора при гибкой оркестрации. По умолчанию при добавлении виртуальной машины в гибкий масштабируемый набор Azure равномерно распределяет экземпляры между доменами сбоя. Хотя рекомендуется разрешать Azure назначать домен сбоя, для расширенных сценариев или для устранения неполадок можно переопределять это поведение по умолчанию и указать домен сбоя, в который будет направляться экземпляр.

az vm create –vmss "myVMSS"  –-platform-fault-domain 1

Именование экземпляров

При создании виртуальной машины и ее добавлении в гибкий масштабируемый набор у вас есть полный контроль над именами экземпляров в правилах соглашения об именовании Azure. Когда виртуальные машины автоматически добавляются в масштабируемый набор через автомасштабирование, вы предоставляете префикс и Azure добавляет уникальный номер в конец имени.

Экземпляры запросов для состояния включения

Предпочтительно использовать Azure Resource Graph для запроса всех виртуальных машин в масштабируемом наборе ВМ. Azure Resource Graph предоставляет эффективные возможности запросов для ресурсов Azure в масштабе для подписок.

resources
| where type =~ 'Microsoft.Compute/virtualMachines'
| where properties.virtualMachineScaleSet.id contains "demo"
| extend powerState = properties.extended.instanceView.powerState.code
| project name, resourceGroup, location, powerState
| order by resourceGroup desc, name desc

Запрос ресурсов с помощью Azure Resource Graph — это удобный и эффективный способ запроса ресурсов Azure и сворачивания вызовов API к поставщику ресурсов. Azure Resource Graph — это в перспективе единообразный кэш, в котором отображение новых или обновленных ресурсов может занять до 60 секунд. Можно сделать следующее:

  • Вывести список ВМ в группе ресурсов или подписке.
  • Развернуть вид, чтобы получить представление экземпляров (назначение домена сбоя, состояния включения и подготовки) для всех виртуальных машин в подписке.
  • Используйте API получения виртуальной машины и команды, чтобы получить представление модели и экземпляра для одного экземпляра.

Пакетные операции для виртуальных машин масштабируемых наборов

Используйте стандартные команды виртуальной машины для запуска, завершения, перезапуска и удаления экземпляров вместо интерфейсов API виртуальных машин масштабируемого набора. Пакетные операции виртуальной машины масштабируемого набора ВМ (запуск всех, завершение всех, повторное создание образа и т. д.) не используются в гибком режиме оркестрации.

Мониторинг работоспособности приложений

Мониторинг работоспособности приложений позволяет приложению предоставлять Azure пакет пульса, чтобы определить, является приложение работоспособным или нет. Azure может автоматически заменять неработоспособные экземпляры виртуальных машин. Для гибких экземпляров масштабируемых наборов необходимо установить и настроить расширение работоспособности приложения на виртуальной машине. Для экземпляров универсальных масштабируемых наборов можно использовать расширение "Работоспособность приложения" или оценить работоспособность с помощью пользовательской пробы работоспособности в Azure Load Balancer.

Изменение списка масштабируемых наборов API виртуальных машин

Масштабируемые наборы виртуальных машин позволяют перечислить экземпляры, принадлежащие к масштабируемому набору. С помощью гибкой оркестрации команда ВМ для получения списка масштабируемых наборов виртуальных машин предоставляет список идентификаторов виртуальных машин для масштабируемых наборов. Затем можно вызвать команды ВМ для получения масштабируемых наборов виртуальных машин, чтобы получить дополнительные сведения о работе масштабируемого набора с экземпляром ВМ. Чтобы получить полные сведения о виртуальной машине, используйте стандартные команды получить виртуальную машину или Azure Resource Graph.

Получение данных диагностики загрузки

Используйте стандартные интерфейсы API и команды виртуальной машины для получения данных диагностики загрузки экземпляра и снимков экрана. API и команды диагностики загрузки масштабируемых наборов виртуальных машин не используются с гибкими экземплярами режима оркестрации.

Расширения виртуальных машин

Используйте расширения, предназначенные для стандартных виртуальных машин, а не расширения, предназначенные для универсальных экземпляров режима оркестрации.

Сравнение гибкой и универсальной оркестрации, а также групп доступности

В следующей таблице приводится сравнение гибкого режима оркестрации, универсального режима оркестрации и групп доступности по их функциям.

Базовая настройка

Компонент Поддерживается гибкой оркестрацией для масштабируемых наборов Поддерживается универсальной оркестрацией для масштабируемых наборов Поддерживается группами доступности
Тип виртуальной машины Стандартная виртуальная машина Azure IaaS (Microsoft.compute/virtualmachines) Виртуальные машины для определенного масштабируемого набора (Microsoft.compute/virtualmachines) Стандартная виртуальная машина Azure IaaS (Microsoft.compute/virtualmachines)
Максимальное количество экземпляров (с гарантией FD) 1000 100 200
Поддерживаемые номера SKU Серия D, серия E, серия F, серия A, серия B, Intel, AMD. Специальные номера SKU (G, H, L, M, N) не поддерживаются. Все номера SKU Все номера SKU
Полный контроль над виртуальными машинами, сетевыми адаптерами, дисками Да Ограниченный контроль с помощью API виртуальных машин с масштабируемыми наборами виртуальных машин Да
Требуются разрешения RBAC Запись вычислений VMSS, запись вычислений ВМ, сеть Запись вычислений VMSS Н/Д
Общая коллекция образов между клиентами Нет Да Да
Ускорение работы в сети Да Да Да
Точечные экземпляры и цены Да, можно использовать экземпляры как с точечным, так и с обычным приоритетом Да, экземпляры должны быть либо полностью точечными, либо полностью обычными Нет, только экземпляры обычного приоритета
Смешение операционных систем Да, Linux и Windows могут находиться в одном гибком масштабируемом наборе Нет, у экземпляров должна быть одна и та же операционная система Да, Linux и Windows могут находиться в одной группе доступности
Типы дисков Только управляемые диски, все типы хранилища Управляемые и неуправляемые диски, все типы хранилища Управляемые и неуправляемые диски, диск категории "Ультра" не поддерживается
Шифрование на стороне сервера с использованием управляемых клиентом ключей Да Да Да
Ускоритель записи Нет Да Да
Группы размещения близкого взаимодействия Да, см. документацию по группам размещения близкого взаимодействия Да, см. документацию по группам размещения близкого взаимодействия Да
Выделенные узлы Azure Нет Да Да
Управляемое удостоверение Только удостоверение, назначаемое пользователем1 Назначаемое системой или назначаемое пользователем Н/Д (можно указать управляемые удостоверения для отдельных экземпляров)
Добавление или удаление существующей виртуальной машины в группе Нет Нет нет
Service Fabric Нет Да Нет
Служба Azure Kubernetes (AKS) / AKE Нет Да Нет
UserData Да Да Для отдельных ВМ можно указать UserData
Возможность удаления или сохранения сетевой карты и дисков виртуальной машины Да Нет (всегда удалять) Да
Диски категории "Ультра" Да Да Нет

1 Для универсальных масштабируемых наборов ответ GET VMSS будет содержать ссылку на identity, clientID и principalID. Для гибких масштабируемых наборов ответ будет содержать только ссылку на identity. Чтобы получить clientID и PrincipalID, можно выполнить вызов Identity.

Автомасштабирование и оркестрация экземпляра

Компонент Поддерживается гибкой оркестрацией для масштабируемых наборов Поддерживается универсальной оркестрацией для масштабируемых наборов Поддерживается группами доступности
Вывод списка виртуальных машин в наборе Да Да Да, вывести список виртуальных машин в AvSet
Автоматическое масштабирование (вручную, на основе метрик, на основе расписания) Да Да Нет
Автоматическое удаление сетевых карт и дисков при удалении экземпляров виртуальных машин Да Да Нет
Политика обновления (масштабируемый набор виртуальных машин) Нет, политика обновления должна иметь значение null или [] во время создания Автоматический, последовательный, ручной Н/Д
Автоматические обновления ОС (масштабируемый набор виртуальных машин) Нет Да Н/Д
Обновление безопасности гостевой системы Да Нет Да
Завершение уведомлений (масштабируемый набор виртуальных машин) Да, см. документацию по уведомлениям о завершении работы Да, см. документацию по уведомлениям о завершении работы Н/Д
Отслеживание работоспособности приложения Расширение "Работоспособность приложения" Расширение "Работоспособность приложения" или проба Azure Load Balancer Расширение "Работоспособность приложения"
Восстановление экземпляра (масштабируемый набор виртуальных машин) Да, см. документацию по восстановлению экземпляра Да, см. документацию по восстановлению экземпляра Н/Д
Защита экземпляра Нет, используйте блокировку ресурсов Azure Да Нет
Политика горизонтального уменьшения масштаба Нет Да Нет
Получение представления экземпляра VMSS Нет Да Н/Д
Пакетные операции ВМ ("Запустить все", "Остановить все", "Удалить подмножество" и т. д.) Поддерживаются операции "Частичное удаление" и "Пакетное удаление". Другие операции можно активировать на каждом экземпляре с помощью API виртуальной машины) Да Нет

Высокий уровень доступности

Компонент Поддерживается гибкой оркестрацией для масштабируемых наборов Поддерживается универсальной оркестрацией для масштабируемых наборов Поддерживается группами доступности
Соглашение об уровне обслуживания относительно доступности 99,95 % для экземпляров в разных доменах сбоя; 99,99 % для экземпляров, распределенных между несколькими зонами 99,95 % для нескольких доменов сбоя в одной группе размещения; 99,99 % для экземпляров, распределенных между несколькими зонами 99,95 %
Зоны доступности Укажите экземпляры, которые распределяются между одной, двумя или тремя зонами доступности Укажите экземпляры, которые распределяются между одной, двумя или тремя зонами доступности Не поддерживается
Назначение виртуальной машины определенной зоне доступности Да Нет Нет
Домен сбоя — максимальное распределение (Azure будет максимально распределять экземпляры) Да Да Нет
Домен сбоя — фиксированное распределение 2–3 домена сбоя (в зависимости от регионального максимального числа доменов сбоя), 1 домен сбоя для зональных развертываний 2, 3, 5 доменов сбоя; 1, 5 доменов сбоя для зональных развертываний 2–3 домена сбоя (в зависимости от регионального максимального числа доменов сбоя)
Назначение виртуальной машины конкретному домену сбоя Да Нет Нет
Домены обновления Не рекомендуется (обслуживание платформы выполняется доменами сбоя по доменам сбоя) 5 доменов обновления До 20 доменов обновления
Выполнение обслуживания Запуск обслуживания каждого экземпляра с помощью API виртуальной машины Да Н/Д
Резервирование мощности Да Да Да

сеть;

Функция Поддерживается гибкой оркестрацией для масштабируемых наборов Поддерживается универсальной оркестрацией для масштабируемых наборов Поддерживается группами доступности
Исходящие подключения по умолчанию Нет, требуется явное исходящее подключение Да Да
Номер SKU Azure Load Balancer ценовой категории "Стандартный" Да Да Да
Шлюз приложений Да Да Да
Сеть InfiniBand Нет Да, только одна группа размещения Да
Базовые SLB Нет Да Да
Перенаправление сетевых портов Да (правила NAT для отдельных экземпляров) Да (пул NAT) Да (правила NAT для отдельных экземпляров)

Резервное копирование и восстановление

Компонент Поддерживается гибкой оркестрацией для масштабируемых наборов Поддерживается универсальной оркестрацией для масштабируемых наборов Поддерживается группами доступности
Azure Backup Да Нет Да
Azure Site Recovery Да (с помощью PowerShell) Нет Да
Оповещения Azure Да Да Да
Аналитика виртуальных машин Можно установить на отдельные виртуальные машины Да Да

Неподдерживаемые параметры

В настоящее время для масштабируемых наборов виртуальных машин в режиме гибкой оркестрации не поддерживаются перечисленные ниже параметры.

  • Одна группа размещения (необходимо выбрать singlePlacementGroup=False).
  • Развертывание с использованием специализированных номеров SKU: семейств ВМ серии G, H, L, M
  • Конфигурация с дисками SSD (цен. категория "Ультра"): diskIOPSReadWrite, diskMBpsReadWrite
  • Избыточная подготовка масштабируемого набора виртуальных машин
  • Автоматические обновления ОС на основе образа
  • Проверка работоспособности приложения с помощью пробы работоспособности SLB — использование расширения "Работоспособность приложения" в экземплярах
  • Политика обновления масштабируемого набора виртуальных машин — должна иметь значение NULL или быть пустой
  • Развертывание на выделенном узле Azure
  • Неуправляемые диски
  • Политика масштабирования масштабируемого набора виртуальных машин
  • Защита экземпляра масштабируемого набора виртуальных машин
  • Azure Load Balancer, категория "Базовый"
  • Пересылка портов через пул NAT Load Balancer (цен. категория "Стандартный") — можно настроить правила NAT для конкретных экземпляров

Устранение неполадок с масштабируемыми наборами с гибкой оркестрацией

Найдите нужное решение в сценарии устранения неполадок.

InvalidParameter. Указанное число доменов сбоя 3 должно быть в диапазоне от 1 до 2.

InvalidParameter. The specified fault domain count 3 must fall in the range 1 to 2.

Причина. Недопустимый параметр platformFaultDomainCount для выбранного региона или зоны.

Решение. Необходимо выбрать допустимое значение platformFaultDomainCount. Для зональных развертываний максимальное значение platformFaultDomainCount равно 1. Для региональных развертываний, в которых не указана зона, максимальное значение platformFaultDomainCount зависит от региона. См. раздел Управление доступностью виртуальных машин для сценариев, чтобы определить максимальное число доменов сбоя для каждого региона.

OperationNotAllowed. Удаление масштабируемого набора виртуальных машин запрещено, так как набор содержит одну или несколько виртуальных машин. Удалите или отключите виртуальные машины перед удалением масштабируемого набора виртуальных машин.

OperationNotAllowed. Deletion of Virtual Machine Scale Set is not allowed as it contains one or more VMs. Please delete or detach the VM(s) before deleting the Virtual Machine Scale Set.

Причина. Попытка удалить масштабируемый набор в режиме гибкой оркестрации, связанном с одной или несколькими виртуальными машинами.

Решение. Удалите все виртуальные машины, связанные с масштабируемым набором, в режиме гибкой оркестрации, после чего можно удалить масштабируемый набор.

InvalidParameter. Значение "True" является недопустимым для параметра singlePlacementGroup. Допустимое значение — "False".

InvalidParameter. The value 'True' of parameter 'singlePlacementGroup' is not allowed. Allowed values are: False.

Причина: для параметра singlePlacementGroup по умолчанию задается значение true.

Решение. Присвойте параметру singlePlacementGroup значение False.

OutboundConnectivityNotEnabledOnVM. Для виртуальной машины не настроены исходящие подключения.

OutboundConnectivityNotEnabledOnVM. No outbound connectivity configured for virtual machine.

Причина: попытка создать масштабируемый набор виртуальных машин с гибким режимом оркестрации без исходящего подключения к Интернету.

Решение: включите безопасный исходящий доступ для масштабируемого набора виртуальных машин, выбрав оптимальный для вашего приложения метод. Исходящий доступ можно настроить через шлюза NAT в подсети, добавлением экземпляров в серверный пул Load Balancer или добавлением явных общедоступных IP-адресов на каждый экземпляр. Для приложений с высоким уровнем безопасности можно указать определяемые пользователем маршруты в настройках брандмауэра или приложений виртуальной сети. Дополнительные сведения см. в статье Исходящий доступ по умолчанию в Azure.

Начало работы с режимом гибкой оркестрации

Зарегистрируйтесь и приступайте к работе в режиме гибкой оркестрации для своих масштабируемых наборов виртуальных машин.

Часто задаваемые вопросы

  • Какой масштаб поддерживает гибкая оркестрация?

    Вы можете добавить до 1000 виртуальных машин в масштабируемый набор в режиме гибкой оркестрации.

  • Как уровень доступности при гибкой оркестрации соотносится с группами доступности или универсальной оркестрацией?

    Атрибут доступности Гибкая оркестрация Универсальная оркестрация Группы доступности
    Развертывание в зонах доступности Да Да Нет
    Гарантии доступности домена сбоя в пределах региона Да, до 1000 экземпляров могут быть распределены в пределах до 3 доменов сбоя в регионе. Максимальное число доменов сбоя зависит от региона Да, до 100 экземпляров Да, до 200 экземпляров
    Группы размещения В гибком режиме всегда используется несколько групп размещения (singlePlacementGroup = false) Можно выбрать одну или несколько групп размещения Н/Д
    Домены обновления Нет, обновления обслуживания или узла завершили домен сбоя по домену сбоя До 5 доменов обновления До 20 доменов обновления
  • Что такое абсолютное максимальное число экземпляров с гарантированной доступностью домена сбоя?

    Компонент Поддерживается гибкой оркестрацией Поддерживается универсальной оркестрацией (общедоступная доступность) Поддерживается AvSets (общая доступность)
    Максимальное число экземпляров (с гарантией доступности домена сбоя) 1000 3000 200

Дальнейшие действия