Создание и развертывание виртуальных машин в группе доступности с помощью Azure CLI

Область применения: ✔️ виртуальные машины Linux

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

В этом руководстве описано следующее:

  • "Создать группу доступности"
  • Создание виртуальной машины в группе доступности
  • Проверка доступных размеров виртуальных машин.

При работе с этим руководством используется интерфейс командной строки (CLI) в Azure Cloud Shell, который всегда обновлен до последней версии. Чтобы открыть Cloud Shell, выберите Попробовать в верхнем углу любого блока кода.

Если вы решили установить и использовать интерфейс командной строки локально, то для работы с этим руководством вам понадобится Azure CLI 2.0.30 или более поздней версии. Чтобы узнать версию, выполните команду az --version. Если вам необходимо выполнить установку или обновление, см. статью Установка Azure CLI 2.0.

"Создать группу доступности"

Вы можете создать группу доступности с помощью команды az vm availability-set create. В этом примере число доменов обновления и сбоя равно 2 для группы доступности myAvailabilitySet в группе ресурсов myResourceGroupAvailability.

Сначала создайте группу ресурсов с помощью команды az group create, а затем — группа доступности:

az group create --name myResourceGroupAvailability --location eastus

az vm availability-set create \
    --resource-group myResourceGroupAvailability \
    --name myAvailabilitySet \
    --platform-fault-domain-count 2 \
    --platform-update-domain-count 2

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

Создание виртуальных машин в группе доступности

Чтобы виртуальные машины правильно распределялись по оборудованию, их нужно создать внутри группы доступности. Существующую виртуальную машину невозможно добавить в группу доступности после создания.

При создании виртуальной машины с помощью команды az vm create можно использовать параметр --availability-set, чтобы указать имя группы доступности.

for i in `seq 1 2`; do
   az vm create \
     --resource-group myResourceGroupAvailability \
     --name myVM$i \
     --availability-set myAvailabilitySet \
     --size Standard_DS1_v2  \
     --vnet-name myVnet \
     --subnet mySubnet \
     --image UbuntuLTS \
     --admin-username azureuser \
     --generate-ssh-keys
done

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

Распределение групп доступности можно просмотреть на портале. Выберите "Группы ресурсов" > myResourceGroupAvailability > myAvailabilitySet. Виртуальные машины распределяются между двумя доменами сбоя и обновления, как показано в следующем примере:

Группа доступности на портале

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

В группу доступности можно добавить дополнительные виртуальные машины позднее, когда станут доступны нужные размеры виртуальных машин для оборудования. Выполните команду az vm availability-set list-sizes для получения списка всех доступных размеров в аппаратном кластере для группы доступности.

az vm availability-set list-sizes \
     --resource-group myResourceGroupAvailability \
     --name myAvailabilitySet \
	 --output table

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

В этом руководстве вы узнали, как выполнять следующие задачи:

  • "Создать группу доступности"
  • Создание виртуальной машины в группе доступности
  • Проверка доступных размеров виртуальных машин.

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