Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: ✔️ виртуальные машины Linux ✔️ однородные наборы масштабирования
Замечание
В следующей статье приведены универсальные масштабируемые наборы виртуальных машин. Мы рекомендуем использовать гибкие масштабируемые наборы виртуальных машин для новых рабочих нагрузок. Дополнительные сведения об этом новом режиме оркестрации см. в обзоре гибких масштабируемых наборов виртуальных машин.
Набор масштабируемых виртуальных машин позволяет развертывать и управлять виртуальными машинами с автоматическим масштабированием. Вы можете масштабировать количество виртуальных машин в масштабируемом наборе вручную или определить правила для автомасштабирования на основе использования ресурсов, таких как ЦП, спрос на память или сетевой трафик. Затем подсистема балансировки нагрузки Azure распределяет трафик к экземплярам виртуальных машин в масштабируемом наборе. В этом кратком руководстве описано, как создать масштабируемый набор виртуальных машин и развернуть пример приложения с помощью шаблона Azure Resource Manager (шаблона ARM).
Шаблон Azure Resource Manager — это файл нотации объектов JavaScript (JSON), который определяет инфраструктуру и конфигурацию проекта. В шаблоне используется декларативный синтаксис. Вы описываете предполагаемое развертывание без написания последовательности команд программирования для создания развертывания.
Шаблоны ARM позволяют развертывать группы связанных ресурсов. В одном шаблоне можно создать масштабируемый набор виртуальных машин, установить приложения и настроить правила автомасштабирования. При использовании переменных и параметров этот шаблон можно повторно использовать для обновления существующих или создания дополнительных масштабируемых наборов. Шаблоны можно развернуть с помощью портала Azure, Azure CLI или Azure PowerShell либо же на основе конвейеров непрерывной интеграции и непрерывной поставки (CI/CD).
Если среда соответствует предварительным требованиям и вы знакомы с использованием шаблонов ARM, нажмите кнопку Развертывание в Azure. Шаблон откроется на портале Azure.
Предпосылки
Если у вас нет подписки на Azure, создайте бесплатную учетную запись перед началом.
Проверьте шаблон
Шаблон, используемый в этом кратком руководстве, взят из шаблонов быстрого запуска Azure.
В шаблоне определены следующие ресурсы:
- Microsoft.Network/virtualNetworks;
- Microsoft.Network/publicIPAddresses
- Microsoft.Network/loadBalancers;
- Microsoft.Compute/virtualMachineScaleSets
- Microsoft.Insights/autoscaleSettings
Определите набор масштабирования
Чтобы создать масштаб с помощью шаблона, необходимо определить соответствующие ресурсы. Основные части ресурса типа "Масштабируемый набор виртуальных машин":
| Недвижимость | Описание свойства | Пример значения в шаблоне |
|---|---|---|
| type | Тип ресурса Azure для создания | Microsoft.Compute/virtualMachineScaleSets |
| имя | Имя масштабируемого набора | myScaleSet |
| location | Расположение для создания масштабируемого набора | East US |
| sku.name | Размер виртуальной машины для каждого экземпляра масштабируемого набора | Standard_A1 |
| sku.capacity | Количество экземпляров виртуальных машин, которые необходимо первоначально создать | 2 |
| режим политики обновления | Режим обновления экземпляра ВМ в случае изменений | Автоматически |
| imageReference | Платформа или пользовательский образ, используемый для экземпляров виртуальных машин | Ubuntu Server 16.04-LTS от Canonical |
| osProfile.computerNamePrefix | Префикс имени для каждого экземпляра виртуальной машины | myvmss |
| Профиль ОС.имяАдминистратора | Имя пользователя для каждого экземпляра виртуальной машины | azureuser |
| osProfile.adminPassword | Пароль для каждого экземпляра виртуальной машины | P@ssw0rd! |
Чтобы настроить шаблон набора виртуальных машин, можно изменить размер виртуальной машины или начальную вместимость. Другим вариантом является использование другой платформы или пользовательского образа.
Добавление примера приложения
Чтобы протестировать масштабируемый набор, установите базовое веб-приложение. При развертывании масштабируемого набора виртуальных машин расширения могут предоставлять задачи настройки и автоматизации после развертывания, например, установку приложения. Скрипты можно скачать из хранилища Azure или GitHub или предоставить на портал Azure во время выполнения расширения. Чтобы применить расширение к масштабируемой группе, добавьте раздел extensionProfile в предыдущий пример ресурса. Профиль расширения обычно определяет следующие свойства:
- Тип расширения
- Издатель расширений
- версия расширения;
- Расположение скриптов конфигурации или установки
- Команды для выполнения на экземплярах виртуальных машин
Шаблон использует расширение пользовательского сценария для установки Bottle, веб-фреймворка Python и простого HTTP-сервера.
Два скрипта определены в файлеUris - installserver.sh и workserver.py. Эти файлы скачиваются с GitHub, а затем команда CommandToExecute выполняется bash installserver.sh для установки и настройки приложения.
Развертывание шаблона
Вы можете развернуть шаблон, нажав следующую кнопку "Развернуть в Azure ". Эта кнопка открывает портал Azure, загружает полный шаблон и запрашивает несколько параметров, таких как имя масштабируемого набора, количество экземпляров и учетные данные администратора.
Вы также можете развернуть шаблон Resource Manager с помощью Azure CLI:
# Create a resource group
az group create --name myResourceGroup --location EastUS
# Deploy template into resource group
az deployment group create \
--resource-group myResourceGroup \
--template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/application-workloads/python/vmss-bottle-autoscale/azuredeploy.json
Ответьте на запросы на предоставление имени масштабируемого набора, количества экземпляров и учетных данных администратора для экземпляров виртуальной машины. Создание масштабируемого набора и вспомогательных ресурсов занимает несколько минут.
Проверка развертывания
Чтобы просмотреть масштабируемый набор в действии, откройте пример веб-приложения в веб-браузере. Получите общедоступный IP-адрес подсистемы балансировки нагрузки с помощью az network public-ip list следующим образом:
az network public-ip list \
--resource-group myResourceGroup \
--query [*].ipAddress -o tsv
Введите общедоступный IP-адрес подсистемы балансировки нагрузки в веб-браузере в формате http://publicIpAddress:9000/do_work. Подсистема балансировки нагрузки распределяет трафик в один из экземпляров виртуальной машины, как показано в следующем примере:
Очистите ресурсы
Вы можете удалить ненужную группу ресурсов, масштабируемый набор и все связанные ресурсы с помощью команды az group delete, как показано ниже. При использовании параметра --no-wait управление возвращается в командную строку без ожидания завершения операции. Параметр --yes подтверждает, что вы хотите удалить ресурсы без дополнительного запроса.
az group delete --name myResourceGroup --yes --no-wait
Дальнейшие шаги
В этом кратком руководстве вы создали масштабируемый набор Linux с шаблоном ARM и использовали расширение пользовательского скрипта для установки базового веб-сервера Python на экземплярах виртуальных машин. Дополнительные сведения см. в руководстве по созданию масштабируемых наборов виртуальных машин Azure и управлению ими.