Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Масштабируемый набор виртуальных машин позволяет развертывать набор виртуальных машин и управлять ими. На протяжении всего жизненного цикла масштабируемого набора виртуальных машин может потребоваться выполнить одну или несколько задач управления. Из этого руководства вы узнаете, как выполнить следующие задачи:
- Создайте группу ресурсов
- Создать набор виртуальных машин
- Горизонтальное масштабирование и снижение масштабирования
- Остановка, запуск и перезапуск экземпляров виртуальных машин
Если у вас нет аккаунта Azure, создайте бесплатную учетную запись перед началом.
Предпосылки
Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см. в статье "Начало работы с Azure Cloud Shell".
Если вы предпочитаете запускать справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, подумайте о запуске Azure CLI в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.
Если вы используете локальную установку, войдите в Azure CLI с помощью команды az login . Чтобы завершить процесс аутентификации, следуйте шагам, отображаемым в вашем терминале. Сведения о других параметрах входа см. в статье "Проверка подлинности в Azure с помощью Azure CLI".
Когда вас попросят, установите расширение Azure CLI при первом использовании. Дополнительные сведения о расширениях см. в статье Использование расширений и управление ими с помощью Azure CLI.
Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
Для этой статьи требуется версия 2.0.29 или более поздняя версия Azure CLI. Если вы используете Azure Cloud Shell, последняя версия уже установлена.
Создайте группу ресурсов
Группа ресурсов Azure является логическим контейнером, в котором происходит развертывание ресурсов Azure и управление ими. Перед масштабируемым набором виртуальных машин необходимо создать группу ресурсов. Создайте группу ресурсов с помощью команды az group create. В этом примере группа ресурсов с именем myResourceGroup создается в регионе eastus .
az group create --name myResourceGroup --location eastus
Имя группы ресурсов указывается при создании или изменении масштабируемого набора в рамках этого руководства.
Создать набор для масштабирования
Это важно
Начиная с ноября 2023 года масштабируемые наборы виртуальных машин, созданные с помощью PowerShell и Azure CLI, по умолчанию будут использоваться в режиме гибкой оркестрации, если режим оркестрации не указан. Дополнительные сведения об этом изменении и о действиях, которые необходимо предпринять, см. в руководстве по критическим изменениям для клиентов VmSS PowerShell/CLI — Microsoft Community Hub
Вы создаете масштабируемый набор виртуальных машин с помощью команды az vmss create . В следующем примере создается масштабируемый набор с именем myScaleSet, а также генерируются ключи SSH, если они не существуют.
az vmss create \
--resource-group myResourceGroup \
--name myScaleSet \
--orchestration-mode flexible \
--image <SKU image> \
--admin-username azureuser \
--generate-ssh-keys
Создание и настройка всех ресурсов масштабируемого набора и экземпляров виртуальных машин занимает несколько минут. Для распределения трафика между отдельными экземплярами виртуальных машин также создается подсистема балансировки нагрузки.
Просмотр сведений об экземплярах виртуальных машин в масштабируемом наборе
Чтобы просмотреть список экземпляров виртуальных машин в масштабируемом наборе, используйте az vm list следующим образом:
az vm list --resource-group myResourceGroup --output table
В следующем примере выходных данных показаны два экземпляра виртуальной машины в масштабируемом наборе:
Name ResourceGroup Location Zones
------------------- --------------- ---------- -------
myScaleSet_instance1 myResourceGroup eastus
myScaleSet_instance2 myResourceGroup eastus
Чтобы просмотреть дополнительные сведения о конкретном экземпляре виртуальной машины, используйте az vm show и укажите имя виртуальной машины.
az vm show --resource-group myResourceGroup --name myScaleSet_instance1
{
"hardwareProfile": {
"vmSize": "Standard_DS1_v2",
},
"id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myScaleSet_instance1",
"location": "eastus",
"name": "myScaleSet_instance1",
"networkProfile": {
"networkInterfaces": [
{
"deleteOption": "Delete",
"id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/mysca2215Nic-0396c71c",
"primary": true,
"resourceGroup": "myResourceGroup"
}
]
},
"osProfile": {
"adminUsername": "azureuser",
"allowExtensionOperations": true,
"computerName": "myScaleSN30BP1",
"linuxConfiguration": {
"disablePasswordAuthentication": true,
"enableVmAgentPlatformUpdates": false,
"patchSettings": {
"assessmentMode": "ImageDefault",
"patchMode": "ImageDefault"
},
"provisionVmAgent": true,
"ssh": {
"publicKeys": [
{
"keyData": "ssh-rsa",
"path": "/home/azureuser/.ssh/authorized_keys"
}
]
}
},
"requireGuestProvisionSignal": true,
"secrets": [],
},
"provisioningState": "Succeeded",
"resourceGroup": "myResourceGroup",
"storageProfile": {
"dataDisks": [],
"imageReference": {
"exactVersion": "XXXXX",
"offer": "myOffer",
"publisher": "myPublisher",
"sku": "mySKU",
"version": "latest"
},
"osDisk": {
"caching": "ReadWrite",
"createOption": "FromImage",
"deleteOption": "Delete",
"diskSizeGb": 30,
"managedDisk": {
"id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myScaleSet_instance1_disk1",
"resourceGroup": "myResourceGroup",
"storageAccountType": "Premium_LRS"
},
"name": "myScaleSet_instance1_disk1",
"osType": "Linux",
}
},
"tags": {},
"timeCreated": "2022-11-16T20:32:15.024581+00:00",
"type": "Microsoft.Compute/virtualMachines",
"virtualMachineScaleSet": {
"id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myScaleSet",
"resourceGroup": "myResourceGroup"
},
}
Создание масштабируемого набора с определенным размером экземпляра виртуальной машины
При создании масштабируемого набора в начале руководства номер SKU виртуальной машины по умолчанию Standard_D1_v2 использовался для виртуальных машин. Можно указать другой размер экземпляра виртуальной машины на основе выходных данных az vm list-sizes. В следующем примере будет создан масштабируемый набор с --vm-sku параметром, чтобы указать размер экземпляра виртуальной машины Standard_F1. Так как создание и настройка всех ресурсов масштабируемого набора и экземпляров виртуальных машин занимает несколько минут, вам не нужно развертывать следующий масштабируемый набор:
az vmss create \
--resource-group myResourceGroup \
--name myScaleSet \
--orchestration-mode flexible \
--image <SKU image> \
--vm-sku Standard_F1 \
--admin-user azureuser \
--generate-ssh-keys
Изменение емкости масштабируемого набора
При создании набора масштабирования в начале руководства два экземпляра виртуальной машины были развернуты по умолчанию. Параметр
Чтобы вручную увеличить или уменьшить количество экземпляров виртуальных машин в масштабируемом наборе, используйте az vmss scale. В следующем примере количество виртуальных машин в вашем масштабируемом наборе установлено на 3:
az vmss scale \
--resource-group myResourceGroup \
--name myScaleSet \
--new-capacity 3
Обновление размера масштабируемого набора займет несколько минут. Чтобы увидеть количество экземпляров, которые теперь есть в масштабируемом наборе, используйте команду az vm list и выполните запрос на связанную группу ресурсов.
az vm list --resource-group myResourceGroup --output table
Name ResourceGroup Location Zones
------------------- --------------- ---------- -------
myScaleSet_instance1 myResourceGroup eastus
myScaleSet_instance2 myResourceGroup eastus
myScaleSet_instance3 myResourceGroup eastus
Остановка и деаллокация экземпляров виртуальных машин в масштабируемом наборе
Чтобы остановить все экземпляры виртуальных машин в масштабируемом наборе, используйте az vmss stop.
az vmss stop \
--resource-group myResourceGroup \
--name myScaleSet
Чтобы остановить отдельные экземпляры виртуальных машин в масштабируемом наборе, используйте az vm stop и укажите имя экземпляра.
az vm stop \
--resource-group myResourceGroup \
--name myScaleSet_instance1
Остановленные экземпляры виртуальных машин остаются выделенными и продолжают нести расходы на вычислительные ресурсы. Если вы хотите, чтобы виртуальные машины были деактивированы и взималась плата только за хранение, используйте az vm deallocate и укажите имена экземпляров, которые требуется деактивировать.
az vm deallocate \
--resource-group myResourceGroup \
--name myScaleSet_instance1
Запуск экземпляров виртуальных машин в масштабируемом наборе
Чтобы запустить все экземпляры виртуальных машин в масштабируемом наборе, используйте az vmss start.
az vmss start \
--resource-group myResourceGroup \
--name myScaleSet
Чтобы запустить отдельные экземпляры виртуальных машин в масштабируемом наборе, используйте az vm start и укажите имя экземпляра.
az vm start \
--resource-group myResourceGroup \
--name myScaleSet_instance1
Перезапуск экземпляров виртуальных машин в масштабируемом наборе
Чтобы перезапустить все экземпляры виртуальных машин в масштабируемом наборе, используйте az vmss restart.
az vmss restart \
--resource-group myResourceGroup \
--name myScaleSet
Чтобы перезапустить отдельные экземпляры виртуальных машин в масштабируемом наборе, используйте az vm restart и укажите имя экземпляра.
az vm restart \
--resource-group myResourceGroup \
--name myScaleSet_instance1
Очистите ресурсы
При удалении группы ресурсов все ресурсы, содержащиеся в ней, такие как экземпляры виртуальных машин, виртуальная сеть и диски, также удаляются. При использовании параметра --no-wait управление возвращается в командную строку без ожидания завершения операции. Параметр --yes подтверждает, что вы хотите удалить ресурсы без дополнительного запроса.
az group delete --name myResourceGroup --no-wait --yes
Дальнейшие шаги
В этом руководстве вы узнали, как выполнять некоторые основные задачи по созданию и управлению масштабируемым набором с помощью Azure CLI:
- Создайте группу ресурсов
- Создать набор для масштабирования
- Просмотр и использование определенных размеров виртуальных машин
- Масштабирование набора масштабирования вручную
- Выполнение распространенных задач управления масштабируемыми наборами, таких как остановка, запуск и перезапуск масштабируемого набора
Перейдите к следующему руководству, чтобы узнать, как подключиться к экземплярам масштабируемого набора.