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

Завершено

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

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

Примечание.

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

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

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

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

  2. На панели инструментов в верхней части окна Cloud Shell выберите "Параметры>перейти к классической версии".

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

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

    #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 в виртуальных машинах в масштабируемом наборе.

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

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

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

    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 8080 \
      --frontend-ip-name loadBalancerFrontEnd \
      --frontend-port 8080 \
      --protocol tcp
    

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

  1. В портал Azure в боковом меню выберите группы>ресурсов myResourceGroup.

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

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

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

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

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

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

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

  6. В веб-браузере перейдите по общедоступному IP-адресу масштабируемого набора. Убедитесь, что появится сообщение Hello World из масштабируемого набора виртуальных машин!

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