Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: ✔️ Виртуальные машины Linux ✔️ Виртуальные машины Windows ✔️ Универсальные масштабируемые наборы
Примечание.
Следующая статья посвящена единым масштабируемым наборам виртуальных машин. Мы рекомендуем использовать масштабируемые наборы виртуальных машин с гибкой конфигурацией для новых задач. Дополнительные сведения об этом новом режиме оркестрации см. в обзоре гибких Масштабируемых наборов виртуальных машин.
Набор виртуальных машин с автоматическим масштабированием позволяет развертывать и управлять подобными виртуальными машинами. Вы можете вручную изменить число виртуальных машин в масштабируемом наборе или определить правила для автоматического масштабирования в зависимости от использования ЦП, объема памяти или сетевого трафика. После этого Azure Load Balancer будет распределять трафик между экземплярами виртуальных машин в масштабируемом наборе. В этом кратком руководстве описано, как создать масштабируемый набор виртуальных машин и развернуть пример приложения с помощью Azure CLI.
Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
Предварительные требования
Используйте среду Bash в Azure Cloud Shell. Для получения дополнительной информации см. краткое руководство по Bash в Azure Cloud Shell.
Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.
Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.
Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.
Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
- Для работы с этой статьей требуется Azure CLI версии 2.0.29 или более поздней. Если вы используете Azure Cloud Shell, последняя версия уже установлена.
Создайте масштабируемый набор
Внимание
Начиная с ноября 2023 года масштабируемые наборы виртуальных машин, созданные с помощью PowerShell и Azure CLI, по умолчанию будут использоваться в режиме гибкой оркестрации, если режим оркестрации не указан. Дополнительные сведения об этом изменении и о действиях, которые необходимо предпринять, см. в руководстве по критическим изменениям для клиентов VmSS PowerShell/CLI — Microsoft Community Hub
Прежде чем создать масштабируемый набор, выполните команду az group create для создания группы ресурсов. В следующем примере создается группа ресурсов с именем myResourceGroup в расположении eastus.
az group create --name myResourceGroup --location eastus
Теперь создайте масштабируемый набор виртуальных машин с помощью az vmss create. В следующем примере создается масштабируемый набор с именем myScaleSet, который настроен на автоматическое обновление при применении изменений. Также создаются ключи SSH, если они не существуют в ~/.ssh/id_rsa. Эти ключи SSH используются для входа на экземпляры виртуальных машин. Чтобы использовать существующий набор ключей SSH, вместо этого используйте параметр --ssh-key-value
и укажите расположение ключей.
az vmss create \
--resource-group myResourceGroup \
--name myScaleSet \
--image <SKU image> \
--upgrade-policy-mode automatic \
--admin-username azureuser \
--generate-ssh-keys
Создание и настройка всех ресурсов и виртуальных машин масштабируемого набора занимает несколько минут.
Разверните приложение-пример
Чтобы протестировать набор на масштабирование, установите базовое веб-приложение. Расширение пользовательского скрипта Azure используется для скачивания и запуска скрипта, который устанавливает приложение на экземплярах виртуальных машин. Это расширение можно использовать для настройки после развертывания, установки программного обеспечения и других задач настройки или управления. Для получения дополнительной информации см. обзор расширения Custom Script.
Используйте расширение пользовательских скриптов для установки базового веб-сервера NGINX. Примените расширение пользовательского скрипта, которое устанавливает NGINX, с помощью команды az vmss extension set, как показано ниже.
az vmss extension set \
--publisher Microsoft.Azure.Extensions \
--version 2.0 \
--name CustomScript \
--resource-group myResourceGroup \
--vmss-name myScaleSet \
--settings '{"fileUris":["https://raw.githubusercontent.com/Azure-Samples/compute-automation-configurations/master/automate_nginx.sh"],"commandToExecute":"./automate_nginx.sh"}'
Разрешение передачи трафика в приложение
При создании масштабируемого набора была автоматически развернута служба Azure Load Balancer. Load Balancer распределяет трафик между экземплярами виртуальных машин в масштабируемом наборе. Чтобы разрешить передачу трафика к образцу веб-приложения, создайте правило балансировщика нагрузки с помощью команды az network lb rule create. В следующем примере создается правило myLoadBalancerRuleWeb.
az network lb rule create \
--resource-group myResourceGroup \
--name myLoadBalancerRuleWeb \
--lb-name myScaleSetLB \
--backend-pool-name myScaleSetLBBEPool \
--backend-port 80 \
--frontend-ip-name loadBalancerFrontEnd \
--frontend-port 80 \
--protocol tcp
Тестирование масштабируемого набора
Чтобы увидеть, как работает масштабируемый набор, откройте пример веб-приложения в браузере. Получите общедоступный IP-адрес балансировщика нагрузки с помощью команды az network public-ip show. Следующий пример получает IP-адрес для myScaleSetLBPublicIP, созданного в рамках набора виртуальных машин.
az network public-ip show \
--resource-group myResourceGroup \
--name myScaleSetLBPublicIP \
--query '[ipAddress]' \
--output tsv
Введите в браузере общедоступный IP-адрес подсистемы балансировки нагрузки. Балансировщик нагрузки распределяет трафик на один из экземпляров вашей виртуальной машины, как показано в следующем примере:
Очистка ресурсов
Вы можете удалить ненужную группу ресурсов, масштабируемый набор и все связанные ресурсы с помощью команды az group delete, как показано ниже. При использовании параметра --no-wait
управление возвращается в командную строку без ожидания завершения операции. Параметр --yes
подтверждает, что вы хотите удалить ресурсы без дополнительного запроса.
az group delete --name myResourceGroup --yes --no-wait
Следующие шаги
С помощью этого краткого руководства вы создали простой набор масштабирования и использовали расширение для пользовательских скриптов, чтобы установить базовый веб-сервер NGINX на экземплярах виртуальных машин. Дополнительные сведения см. в уроке по созданию и управлению масштабируемыми наборами виртуальных машин Azure.