Развертывание приложения ASP.NET Core в Службе Azure Kubernetes с помощью Azure DevOps Starter

Azure DevOps Starter — это упрощенный интерфейс, который позволяет добавить существующий код и репозиторий Git либо выбрать пример приложения, чтобы создать конвейер непрерывной интеграции (CI) и непрерывной поставки (CD) в Azure.

Кроме того, DevOps Starter может выполнять следующие задачи:

  • автоматически создавать ресурсы Azure, например Службу Azure Kubernetes (AKS);
  • создавать и настраивать конвейер выпуска для CI/CD в Azure DevOps;
  • создавать ресурс Azure Application Insights для мониторинга.
  • позволяет выполнять мониторинг производительности рабочих нагрузок контейнера в кластере AKS с помощью Azure Monitor для контейнеров.

Выполняя данное руководство, вы сделаете следующее:

  • Использование DevOps Starter для развертывания приложения ASP.NET Core в AKS
  • настройка Azure DevOps и подписки Azure;
  • Изучение кластера AKS
  • Просмотр конвейера CI
  • Просмотр конвейера CD
  • фиксация изменений в Git и их автоматическое развертывание в Azure;
  • Очистка ресурсов

Предварительные требования

  • Подписка Azure. Вы можете получить бесплатную подписку с помощью Visual Studio Dev Essentials.

Использование DevOps Starter для развертывания приложения ASP.NET Core в AKS

DevOps Starter позволяет создать конвейер CI/CD в Azure Pipelines. Вы можете создать новую организацию Azure DevOps или использовать существующую. DevOps Starter также создает ресурсы Azure, такие как кластер AKS, в нужной подписке Azure.

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

  2. В поле поиска введите DevOps Starter, а затем выберите ресурс. Щелкните Добавить, чтобы создать новый ресурс.

    Панель мониторинга DevOps Starter

  3. Выберите .NET, а затем Далее.

  4. В разделе Выберите платформу приложений выберите ASP.NET Core и нажмите кнопку Далее.

  5. Выберите Служба Kubernetes и щелкните Далее.

настройка Azure DevOps и подписки Azure;

  1. Создайте новую организацию Azure DevOps или выберите существующую.

  2. Задайте имя проекта Azure DevOps.

  3. Выберите подписку Azure.

  4. Чтобы просмотреть дополнительные параметры конфигурации Azure и определить количество узлов в кластере AKS, щелкните Изменить. В этой области отображаются параметры для настройки типа и расположения служб Azure.

  5. Выйдите из области конфигурации Azure и щелкните Готово. Через несколько минут процесс будет завершен. В результате настраивается пример приложения ASP.NET Core в репозитории Git для вашей организации Azure DevOps, создается кластер AKS, выполняется конвейер CI/CD и приложение развертывается в Azure.

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

    Панель мониторинга позволяет просматривать репозиторий кода Azure DevOps, конвейер CI/CD и кластер AKS. В конвейере Azure DevOps можно настроить дополнительные параметры CI/CD. В области справа выберите Обзор для просмотра выполняющегося приложения.

Изучение кластера AKS

DevOps Starter автоматически настраивает кластер AKS, который можно просмотреть и настроить. Чтобы просмотреть кластер AKS, выполните следующие действия:

  1. Перейдите к панели мониторинга DevOps Starter.

  2. В области справа выберите службу AKS. Откроется область кластера AKS. Это представление позволяет выполнять различные действия, например отслеживать работоспособность контейнеров, выполнять поиск в журналах и открывать панель мониторинга Kubernetes.

  3. В области справа щелкните Просмотреть панель мониторинга Kubernetes. При необходимости выполните следующие действия, чтобы открыть панель мониторинга Kubernetes.

Просмотр конвейера CI

DevOps Starter автоматически настраивает конвейер CI/CD в вашей организации Azure DevOps. Вы можете изучить и настроить конвейер. Для этого сделайте следующее:

  1. Перейдите к панели мониторинга DevOps Starter.

  2. В верхней части панели мониторинга DevOps Starter выберите Конвейеры сборки. На вкладке браузера отобразится конвейер сборки нового проекта.

  3. Выберите поле Состояние и щелкните значок многоточия (…). В появившемся меню содержится несколько пунктов, таких как постановка новой сборки в очередь, приостановка сборки и изменение конвейера сборки.

  4. Выберите команду Изменить.

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

  6. Выберите имя конвейера сборки в верхней части соответствующей области.

  7. Замените имя конвейера сборки более понятным для себя, выберите Сохранить и поместить в очередь и нажмите кнопку Сохранить.

  8. Под именем конвейера сборки щелкните Журнал. В этой области отображается журнал аудита последних изменений сборки. Azure DevOps отслеживает все изменения, внесенные в конвейер сборки, и позволяет сравнивать версии.

  9. Выберите Триггеры. DevOps Starter автоматически создает триггер CI, а при каждой фиксации в репозитории запускается новая сборка. При необходимости выберите для процесса непрерывной интеграции включение или исключение ветвей.

  10. Щелкните Период удержания. В зависимости от сценария можно указать политики для хранения или удаления определенного количества сборок.

Просмотр конвейера выпуска CD

DevOps Starter автоматически создает и настраивает необходимые шаги для развертывания из вашей организации Azure DevOps в подписке Azure. Эти шаги включают настройку подключения к службе Azure для аутентификации Azure DevOps в подписке Azure. Также автоматически создается конвейер выпуска, обеспечивающий непрерывное развертывание в Azure. Чтобы получить дополнительные сведения о конвейере выпуска, сделайте следующее:

  1. Выберите Сборка и выпуск, а затем — Выпуски. DevOps Starter создаст конвейер выпуска для управления развертываниями в Azure.

  2. Щелкните многоточие (…) рядом с конвейером выпуска и выберите Изменить. Конвейер выпуска содержит конвейер, в котором определен процесс выпуска.

  3. В разделе Артефакты выберите Удалить. Конвейер сборки, который вы изучали на предыдущих этапах, создаст выходные данные для артефакта.

  4. Справа от значка Удалить выберите Триггер непрерывного развертывания. В этом конвейере выпуска активирован триггер непрерывного развертывания, выполняющий развертывание каждый раз, когда становится доступным новый артефакт сборки. При желании можно отключить триггер, чтобы выполнить развертывание вручную.

  5. В области справа выберите Просмотреть выпуски, чтобы отобразился журнал выпусков.

  6. Щелкните многоточие (…) рядом с одним из выпусков и выберите Открыть. Отобразится меню с несколькими элементами, такими как сводка выпуска, связанные рабочие элементы и тесты.

  7. Щелкните Фиксации. В этом представлении отображаются фиксации кода, связанные с текущим развертыванием. Сравните выпуски, чтобы просмотреть различия между развертываниями.

  8. Выберите Журналы. Журналы содержат полезную информацию о процессе развертывания. Их можно просматривать во время и после развертывания.

Фиксация изменений в Azure Repos и их автоматическое развертывание в Azure

Примечание

Ниже описана процедура для проверки конвейера CI/CD путем простого изменения текста.

Теперь вы готовы к совместной работе над приложением с использованием процесса CI/CD для автоматического развертывания последних результатов работы на своем веб-сайте. При каждом изменении в репозитории Git запускается сборка в Azure DevOps и конвейер CD выполняет развертывание в Azure. Используйте описанную в этом разделе процедуру или другой метод, чтобы зафиксировать изменения в репозитории. Например, можно скопировать репозиторий Git в предпочитаемое вами средство или интегрированную среду разработки, а затем отправить изменения в этот репозиторий.

  1. В меню Azure DevOps последовательно выберите Код>Файлы и перейдите к репозиторию.

  2. Откройте каталог Views\Home, затем нажмите многоточие (...) рядом с файлом Index.cshtml и щелкните Изменить.

  3. Внесите изменения в файл, например, измените определенный текст внутри одного из тегов div.

  4. В правом верхнем углу выберите Зафиксировать, после чего снова нажмите Зафиксировать, чтобы отправить изменения. Через несколько секунд начнется процесс сборки в Azure DevOps, после чего будет выполнена операция выпуска для развертывания изменений. Вы можете отслеживать состояние сборки на панели мониторинга DevOps Starter или в браузере в своей организации Azure DevOps.

  5. По завершения выпуска обновите приложение, чтобы проверить внесенные изменения.

Очистка ресурсов

Если вы выполняете тестирование, можно очистить ресурсы, чтобы избежать дополнительных расходов. Ненужный кластер AKS и связанные с ним ресурсы, созданные в рамках этого руководства, можно удалить. Для этого воспользуйтесь функцией Удалить на панели мониторинга DevOps Starter.

Важно!

Следующая процедура безвозвратно удаляет ресурсы. Функция Удалить безвозвратно удаляет в Azure и в Azure DevOps данные, созданные в проекте DevOps Starter. Выполняйте эту процедуру только после того, как прочли предупреждение.

  1. На портале Azure перейдите к панели мониторинга DevOps Starter.
  2. В правом верхнем углу выберите Удалить.
  3. В окне предупреждения выберите Да, чтобы удалить ресурсы без возможности восстановления.

Дальнейшие действия

Вы можете по желанию изменить эти конвейеры сборки и выпуска в соответствии с потребностями вашей команды. Вы также можете использовать этот шаблон CI/CD в качестве шаблона для других конвейеров. В этом руководстве вы узнали, как выполнять следующие задачи:

  • Использование DevOps Starter для развертывания приложения ASP.NET Core в AKS
  • настройка Azure DevOps и подписки Azure;
  • Изучение кластера AKS
  • Просмотр конвейера CI
  • Просмотр конвейера CD
  • фиксация изменений в Git и их автоматическое развертывание в Azure;
  • Очистка ресурсов

См. дополнительные сведения об использовании панели мониторинга Kubernetes:

Define your multi-stage continuous deployment (CD) process (Определение процесса многоэтапного непрерывного развертывания (CD))