Поделиться через


Масштабируемые наборы виртуальных машин и группы размещения

Замечание

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

Теперь вы можете создать Azure Масштабируемые наборы виртуальных машин с емкостью до 1000 виртуальных машин. В этом документе большой масштабируемый набор виртуальных машин определяется как масштабируемый набор , способный масштабировать до более чем 100 виртуальных машин. Эта возможность устанавливается с помощью свойства набора шкалирования (singlePlacementGroup=False).

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

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

Группы размещения

Главное в крупном масштабируемом наборе не число виртуальных машин, а число содержащихся в нем групп размещения. Группа размещения — это конструкция, подобная группе доступности Azure, с собственными доменами сбоя и доменами обновления. По умолчанию масштабируемый набор содержит одну группу размещения максимум со 100 виртуальными машинами. Если для свойства singlePlacementGroup масштабируемого набора задано значение false, масштабируемый набор может состоять из нескольких групп размещения и содержать от 0 до 1000 виртуальных машин. Если задано значение true (по умолчанию), масштабируемый набор состоит из одной группы размещения и может содержать от 0 до 100 виртуальных машин.

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

Чтобы определить, целесообразно ли использовать для приложения крупные масштабируемые наборы, рассмотрите следующие требования:

  • Если вы планируете развернуть много виртуальных машин, может потребоваться увеличить квоту на виртуальные ЦП.
  • Масштабируемые наборы, созданные из образов Azure Marketplace или образов Azure Compute Gallery, могут увеличиваться до 1000 виртуальных машин.
  • Масштабируемые наборы, созданные на базе пользовательских образов (образов виртуальных машин, которые вы создаете и отправляете самостоятельно), сейчас можно масштабировать до 600 виртуальных машин.
  • Для больших масштабируемых наборов требуются управляемые диски Azure. Масштабируемые наборы, не созданные с управляемыми дисками, требуют нескольких учетных записей хранения (по одному для каждых 20 виртуальных машин). Крупномасштабные наборы предназначены для работы исключительно с управляемыми дисками, чтобы сократить затраты на управление хранилищем и избежать риска возникновения ограничений подписки на учетные записи хранения.
  • Крупномасштабная (SPG=false) не поддерживает сеть InfiniBand
  • Для балансировки нагрузки четвертого уровня с помощью масштабируемых наборов, состоящих из нескольких групп размещения, требуется Azure Load Balancer Standard SKU. Подсистема балансировки нагрузки с номером SKU "Стандартный" обеспечивает дополнительные преимущества, включая возможность распределять нагрузку между несколькими масштабируемыми наборами. Для стандартного SKU также требуется, чтобы набор виртуальных машин (scale set) был ассоциирован с группой безопасности сети; в противном случае, пулы NAT работают неправильно. Если вам необходимо использовать Azure Load Balancer с номером SKU "Базовый", масштабируемый набор должен быть настроен для использования одной группы размещения, что является настройкой по умолчанию.
  • Балансировка нагрузки уровня 7 с использованием шлюза приложений Azure поддерживается для всех наборов на масштабирование.
  • Масштабируемый набор настраивается на одной подсети — убедитесь, что ваша подсеть обладает достаточным адресным пространством для всех необходимых виртуальных машин. По умолчанию набор масштабирования выполняет избыточную подготовку (создает дополнительные виртуальные машины, плата за которые не взимается) во время развертывания или масштабирования, чтобы повысить надежность и производительность развертывания. Настройте адресное пространство так, чтобы оно было на 20 % больше, чем количество виртуальных машин, которые планируете масштабировать.
  • Домены сбоя и домены обновления являются единообразными только в пределах группы размещения. Эта архитектура не влияет на общую доступность масштабируемого набора, потому что виртуальные машины равномерно распределяются между отдельным физическим оборудованием. Однако это означает, что, если необходимо гарантировать размещение двух виртуальных машин на разном оборудовании, они должны находиться в разных доменах сбоя в одной группе размещения. Перейдите по ссылке, чтобы узнать о параметрах доступности.
  • Идентификаторы домена сбоя и группы размещения отображаются в представлении экземпляра виртуальной машины в масштабируемом наборе. Вы можете просмотреть представление экземпляра виртуальной машины в масштабируемом наборе с помощью обозревателя ресурсов Azure.

Создание крупного масштабируемого набора

При создании масштабируемого набора на портале Azure просто укажите в поле Число экземпляров значение до 1000. Если это значение превышает 100 экземпляров, для параметра, включающего масштабирование свыше 100 экземпляров, будет присвоено значение Да. Это позволит выполнить масштабирование в нескольких группах размещения.

На этом изображении показана вкладка экземпляров в портале Azure. Доступны параметры для выбора количества экземпляров и размера экземпляра.

Вы можете создать большой масштабируемый набор виртуальных машин с помощью команды azure CLIaz vmss create . Эта команда задает интеллектуальные значения по умолчанию, такие как размер подсети, на основе аргумента instance-count:

az group create -l southcentralus -n biginfra
az vmss create -g biginfra -n bigvmss --image Ubuntu2204 --instance-count 1000

Команда vmss create задаст определенные значения конфигурации по умолчанию, если их не указать. Чтобы узнать, какие параметры можно переопределить, используйте следующую команду:

az vmss create --help

Если вы создаете большой масштабируемый набор, создав шаблон Azure Resource Manager, убедитесь, что шаблон создает масштабируемый набор на основе управляемых дисков Azure. Вы можете задать для свойства singlePlacementGroup значение false в разделе properties ресурса Microsoft.Compute/virtualMachineScaleSets. В следующем фрагменте JSON показано начало шаблона набора виртуальных машин масштабирования, включая емкость в 1000 ВМ и параметр "singlePlacementGroup": false:

{
  "type": "Microsoft.Compute/virtualMachineScaleSets",
  "location": "australiaeast",
  "name": "bigvmss",
  "sku": {
    "name": "Standard_DS1_v2",
    "tier": "Standard",
    "capacity": 1000
  },
  "properties": {
    "singlePlacementGroup": false,
    "upgradePolicy": {
      "mode": "Automatic"
    }

Полный пример шаблона крупного масштабируемого набора доступен по адресу https://github.com/gbowerman/azure-myriad/blob/main/bigtest/bigbottle.json.

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

Чтобы сделать существующий масштабируемый набор виртуальных машин, способный масштабировать более 100 виртуальных машин, необходимо изменить свойство singlePlacementGroup на false в модели масштабируемого набора. Вы можете попробовать изменить это свойство в обозревателе ресурсов Azure. Найдите существующий масштабируемый набор, выберите Изменить и измените свойство singlePlacementGroup. Если вы не видите это свойство, возможно, вы открыли масштабируемый набор в более старой версии Microsoft.Compute API.

Замечание

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