Упражнение. Развертывание масштабируемого набора виртуальных машин с помощью портала Azure

Завершено

В примере сценария вы решили использовать масштабируемый набор для веб-приложения компании по доставке. С помощью масштабируемого набора компания может обеспечивать быстрый отклик для пользователей при изменении рабочей нагрузки.

Ваша первая задача — создать масштабируемый набор. Вы настроите его для запуска веб-сервера, в данном случае nginx. После правильной настройки масштабируемого набора вы развернете веб-приложение. Затем вы настроите пробу работоспособности, которую Azure будет использовать для проверки доступности каждой виртуальной машины в масштабируемом наборе. Наконец, вы проверите масштабируемый набор, отправив запросы из веб-браузера.

Примечание

Это необязательное упражнение. Если у вас нет учетной записи Azure, прочтите инструкции, чтобы понимать, как использовать REST API для получения метрик.

Если вы хотите выполнить это упражнение, но у вас нет подписки Azure или вы не хотите использовать собственную учетную запись, создайте бесплатную учетную запись , прежде чем начинать работу.

Развертывание масштабируемого набора виртуальных машин

  1. Войдите на портал Azure и откройте Azure Cloud Shell.

  2. В Cloud Shell откройте редактор кода и создайте файл с именем cloud-init.yaml.

    code cloud-init.yaml
    
  3. Добавьте в файл следующий текст:

    #cloud-config
    package_upgrade: true
    packages:
      - nginx
    write_files:
      - owner: www-data:www-data
      - path: /var/www/html/index.html
        content: |
            Hello world from Virtual Machine Scale Set !
    runcmd:
      - service nginx restart
    

    Этот файл содержит сведения о конфигурации для установки nginx в виртуальных машинах в масштабируемом наборе.

  4. Нажмите клавиши CTRL+S , чтобы сохранить файл, а затем нажмите клавиши CTRL+Q , чтобы закрыть редактор кода.

  5. Выполните следующую команду, чтобы создать группу ресурсов с именем scalesetrg для вашего масштабируемого набора:

    az group create --location eastus --name myResourceGroup
    
  6. Выполните следующую команду, чтобы создать масштабируемый набор виртуальных машин:

    az vmss create \
      --resource-group myResourceGroup \
      --name webServerScaleSet \
      --image Ubuntu2204 \
      --upgrade-policy-mode automatic \
      --custom-data cloud-init.yaml \
      --admin-username azureuser \
      --generate-ssh-keys
    

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

    Примечание

    Флаг custom-data указывает, что в конфигурации созданной виртуальной машины должны использоваться параметры из файла cloud-init.yaml. Файл cloud-init можно использовать для установки дополнительных пакетов, настройки безопасности и записи в файлы при первой установке машины.

    Дополнительные сведения см. в статье Поддержка cloud-init для виртуальных машин в Azure.

Настройка масштабируемого набора виртуальных машин

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

    az network lb probe create \
      --lb-name webServerScaleSetLB \
      --resource-group myResourceGroup \
      --name webServerHealth \
      --port 80 \
      --protocol Http \
      --path /
    

    Проба работоспособности проверяет связь с корнем веб-сайта через порт 80. Если веб-сайт не отвечает, сервер считается недоступным. Подсистема балансировки нагрузки не будет маршрутизировать трафик к нему.

  2. Выполните следующую команду, чтобы настроить подсистему балансировки нагрузки для маршрутизации HTTP-трафика к экземплярам в масштабируемом наборе:

    az network lb rule create \
      --resource-group myResourceGroup \
      --name webServerLoadBalancerRuleWeb \
      --lb-name webServerScaleSetLB \
      --probe-name webServerHealth \
      --backend-pool-name webServerScaleSetLBBEPool \
      --backend-port 80 \
      --frontend-ip-name loadBalancerFrontEnd \
      --frontend-port 80 \
      --protocol tcp
    

Тестирование масштабируемого набора виртуальных машин

  1. На портале Azure слева выберите Группы ресурсов>scalesetrg.

  2. Выберите масштабируемый набор виртуальных машин webServerScaleSet .

  3. На странице Обзор запишите общедоступный IP-адрес масштабируемого набора виртуальных машин.

    Снимок экрана: портал Azure со страницей

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

    Снимок экрана: портал Azure с экземплярами масштабируемого набора виртуальных машин.

  5. Выберите экземпляр и перейдите на вкладку Свойства . Убедитесь, что виртуальные машины работают под управлением Ubuntu Linux.

    Снимок экрана: портал Azure с операционной системой для масштабируемого набора виртуальных машин.

  6. В веб-браузере перейдите по общедоступному IP-адресу масштабируемого набора. Убедитесь, что отображается сообщение Hello World from Virtual Machine Scale Set !.

    Снимок экрана веб-приложения, запущенного в веб-браузере, с требуемым сообщением.