Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Масштабируемый набор виртуальных машин позволяет развертывать набор виртуальных машин и управлять ими. На протяжении всего жизненного цикла масштабируемого набора виртуальных машин может потребоваться выполнить одну или несколько задач управления. Из этого руководства вы узнаете, как выполнить следующие задачи:
- Создайте группу ресурсов
- Создание масштабируемого набора виртуальных машин
- Горизонтальное масштабирование и снижение масштабирования
- Остановка, запуск и перезапуск экземпляров виртуальных машин
Если у вас нет подписки на Azure, создайте бесплатную учетную запись перед началом.
Azure Cloud Shell
Azure размещает Azure Cloud Shell, интерактивную среду оболочки, которую можно использовать в браузере. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell. Для выполнения кода в этой статье можно использовать предустановленные команды Cloud Shell, не устанавливая ничего в локальной среде.
Чтобы запустить Azure Cloud Shell, выполните приведенные действия.
| Вариант | Пример и ссылка |
|---|---|
| Нажмите кнопку Попробовать в правом верхнем углу блока кода или команд. При нажатии кнопки Попробовать код или команда не копируется в Cloud Shell автоматически. |
|
| Чтобы открыть Cloud Shell в браузере, перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell. |
|
| Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure. |
|
Чтобы использовать Azure Cloud Shell, выполните следующие действия:
Запустите Cloud Shell.
Нажмите кнопку Копировать в блоке кода (или блоке команд), чтобы скопировать код или команду.
Вставьте код или команду в окно сеанса Cloud Shell, нажав клавиши CTRL+SHIFT+V в Windows и Linux или CMD+SHIFT+V в macOS.
Нажмите Enter, чтобы запустить код или команду.
Создайте группу ресурсов
Группа ресурсов Azure является логическим контейнером, в котором происходит развертывание ресурсов Azure и управление ими. Перед масштабируемым набором виртуальных машин необходимо создать группу ресурсов. Создайте группу ресурсов с помощью команды New-AzResourceGroup. В этом примере группа ресурсов с именем myResourceGroup создается в регионе EastUS .
New-AzResourceGroup -ResourceGroupName "myResourceGroup" -Location "EastUS"
Имя группы ресурсов указывается при создании или изменении масштабируемого набора в рамках этого руководства.
Создание масштабируемого набора виртуальных машин
Сначала задайте имя пользователя и пароль администратора для экземпляров виртуальных машин с использованием Get-Credential:
$cred = Get-Credential
Теперь создайте масштабируемый набор виртуальных машин с использованием команды New-AzVmss. Для распределения трафика между отдельными экземплярами виртуальных машин также создается подсистема балансировки нагрузки. Подсистема балансировки нагрузки включает правила для распределения трафика по TCP-порту 80, а также разрешения трафика для удаленного рабочего стола через TCP-порт 3389 и для удаленного взаимодействия с PowerShell через TCP-порт 5985.
Это важно
Начиная с ноября 2023 года масштабируемые наборы виртуальных машин, созданные с помощью PowerShell и Azure CLI, по умолчанию будут использоваться в режиме гибкой оркестрации, если режим оркестрации не указан. Дополнительные сведения об этом изменении и о действиях, которые необходимо предпринять, см. в руководстве по критическим изменениям для клиентов VmSS PowerShell/CLI — Microsoft Community Hub
New-AzVmss `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet" `
-OrchestrationMode "Flexible" `
-Location "EastUS" `
-Credential $cred
Создание и настройка всех ресурсов масштабируемого набора и экземпляров виртуальных машин занимает несколько минут. Для распределения трафика между отдельными экземплярами виртуальных машин также создается подсистема балансировки нагрузки.
Просмотр экземпляров виртуальных машин в масштабируемом наборе
Чтобы просмотреть список экземпляров виртуальных машин в масштабируемом наборе, используйте Get-AzVM следующим образом:
Get-AzVM -ResourceGroupName "myResourceGroup"
В следующем примере выходных данных показаны два экземпляра виртуальной машины в масштабируемом наборе:
ResourceGroupName Name Location VmSize OsType ProvisioningState
----------------- ---- -------- ------ ------ -----------------
myResourceGroup myScaleSet_instance1 eastus Standard_DS1_v2 Windows Succeeded
myResourceGroup myScaleSet_instance2 eastus Standard_DS1_v2 Windows Succeeded
Чтобы просмотреть дополнительные сведения о конкретном экземпляре виртуальной машины, используйте Get-AzVM и укажите имя виртуальной машины.
Get-AzVM -ResourceGroupName "myResourceGroup" -name "myScaleSet_instance1"
ResourceGroupName : myresourcegroup
Id : /subscriptions/resourceGroups/myresourcegroup/providers/Microsoft.Compute/virtualMachines/myScaleSet_instance1
VmId : d27b5fde-d469-4087-b08f-87d0bd8df786
Name : myScaleSet_instance1
Type : Microsoft.Compute/virtualMachines
Location : eastus
Tags : {}
HardwareProfile : {VmSize}
NetworkProfile : {NetworkInterfaces}
OSProfile : {ComputerName, AdminUsername, WindowsConfiguration, Secrets, AllowExtensionOperations, RequireGuestProvisionSignal}
ProvisioningState : Succeeded
StorageProfile : {ImageReference, OsDisk, DataDisks}
VirtualMachineScaleSet : {Id}
TimeCreated : 11/16/2022 11:02:02 PM
Создание масштабируемого набора с определенным размером экземпляра виртуальной машины
При создании масштабируемого набора в начале руководства номер SKU виртуальной машины по умолчанию Standard_D1_v2 использовался для виртуальных машин. Можно указать другой размер экземпляра виртуальной машины с -VMSize параметром, чтобы указать размер экземпляра виртуальной машины Standard_F1.
New-AzVmss `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet" `
-OrchestrationMode "Flexible" `
-VMSize "Standard_F1" `
-Location "EastUS" `
-Credential $cred
Изменение емкости масштабируемого набора
При создании масштабируемого набора два экземпляра виртуальной машины были развернуты по умолчанию. Чтобы увеличить или уменьшить количество экземпляров виртуальных машин в масштабируемом наборе, можно вручную изменить емкость. Масштабируемый набор создает или удаляет требуемое количество экземпляров виртуальных машин, а затем настраивает подсистему балансировки нагрузки для распределения трафика.
Сначала создайте объект масштабируемого набора с помощью Get-AzVmss, а затем укажите новое значение для sku.capacity. Чтобы применить изменение емкости, используйте Update-AzVmss. В следующем примере количество виртуальных машин в вашем масштабируемом наборе установлено на 3:
# Get current scale set
$vmss = Get-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"
# Set and update the capacity of your scale set
$vmss.sku.capacity = 3
Update-AzVmss -ResourceGroupName "myResourceGroup" -Name "myScaleSet" -VirtualMachineScaleSet $vmss
Обновление размера масштабируемого набора займет несколько минут. Чтобы просмотреть количество экземпляров, которые теперь есть в масштабируемом наборе, используйте Get-Az:
Get-AzVm -ResourceGroupName "myResourceGroup"
В следующем примере выходных данных показано, что емкость масштабируемого набора теперь составляет 3:
ResourceGroupName Name Location VmSize OsType ProvisioningState
----------------- ---- -------- ------ ------ -----------------
myResourceGroup myScaleSet_instance1 eastus Standard_DS1_v2 Windows Succeeded
myResourceGroup myScaleSet_instance2 eastus Standard_DS1_v2 Windows Succeeded
myResourceGroup myScaleSet_instance3 eastus Standard_DS1_v2 Windows Succeeded
Остановка и деаллокация экземпляров виртуальных машин в масштабируемом наборе
Чтобы остановить отдельные экземпляры виртуальных машин, используйте Stop-AzVm и укажите имена экземпляров.
Stop-AzVM -ResourceGroupName "myResourceGroup" -name "myScaleSet_instance1"
По умолчанию остановленные виртуальные машины освобождаются и не требуют затрат на вычислительные ресурсы. Если вы хотите, чтобы виртуальная машина оставалась в подготовленном состоянии при остановке, добавьте -StayProvisioned параметр в предыдущую команду. Остановленные виртуальные машины, которые остаются зарезервированными, несут регулярные расходы на вычислительные ресурсы.
Запуск экземпляров виртуальных машин в масштабируемом наборе
Чтобы запустить все экземпляры виртуальных машин в масштабируемом наборе, используйте Start-AzVmss.
Start-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"
Чтобы запустить отдельный экземпляр виртуальной машины в масштабируемом наборе, используйте Start-AzVM и укажите имя экземпляра.
Start-AzVM -ResourceGroupName "myResourceGroup" -name "myScaleSet_instance1"
Перезапуск экземпляров виртуальных машин в масштабируемом наборе
Чтобы перезапустить все виртуальные машины в масштабируемом наборе, используйте Restart-AzVmss.
Restart-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"
Чтобы перезапустить отдельный экземпляр, используйте [Restart-AzVM] и укажите имя экземпляра.
Restart-AzVM -ResourceGroupName "myResourceGroup" -name "myScaleSet_instance1"
Очистите ресурсы
При удалении группы ресурсов все ресурсы, содержащиеся в ней, такие как экземпляры виртуальных машин, виртуальная сеть и диски, также удаляются. Параметр -Force подтверждает, что вы хотите удалить ресурсы без дополнительного запроса. При использовании параметра -AsJob управление возвращается в командную строку без ожидания завершения операции.
Remove-AzResourceGroup -Name "myResourceGroup" -Force -AsJob
Дальнейшие шаги
В этом руководстве вы узнали, как выполнять некоторые основные задачи по созданию и управлению масштабируемым набором с помощью Azure PowerShell:
- Создайте группу ресурсов
- Создать набор для масштабирования
- Просмотр и использование определенных размеров виртуальных машин
- Масштабирование набора масштабирования вручную
- Выполнение распространенных задач управления масштабируемыми наборами, таких как остановка, запуск и перезапуск масштабируемого набора
Перейдите к следующему руководству, чтобы узнать, как подключиться к экземплярам масштабируемого набора.