Развертывание приложения 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.
Войдите на портал Azure.
В поле поиска введите DevOps Starter, а затем выберите ресурс. Щелкните Добавить, чтобы создать новый ресурс.
Выберите .NET, а затем Далее.
В разделе Выберите платформу приложений выберите ASP.NET Core и нажмите кнопку Далее.
Выберите Служба Kubernetes и щелкните Далее.
настройка Azure DevOps и подписки Azure;
Создайте новую организацию Azure DevOps или выберите существующую.
Задайте имя проекта Azure DevOps.
Выберите подписку Azure.
Чтобы просмотреть дополнительные параметры конфигурации Azure и определить количество узлов в кластере AKS, щелкните Изменить. В этой области отображаются параметры для настройки типа и расположения служб Azure.
Выйдите из области конфигурации 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, выполните следующие действия:
Перейдите к панели мониторинга DevOps Starter.
В области справа выберите службу AKS. Откроется область кластера AKS. Это представление позволяет выполнять различные действия, например отслеживать работоспособность контейнеров, выполнять поиск в журналах и открывать панель мониторинга Kubernetes.
В области справа щелкните Просмотреть панель мониторинга Kubernetes. При необходимости выполните следующие действия, чтобы открыть панель мониторинга Kubernetes.
Просмотр конвейера CI
DevOps Starter автоматически настраивает конвейер CI/CD в вашей организации Azure DevOps. Вы можете изучить и настроить конвейер. Для этого сделайте следующее:
Перейдите к панели мониторинга DevOps Starter.
В верхней части панели мониторинга DevOps Starter выберите Конвейеры сборки. На вкладке браузера отобразится конвейер сборки нового проекта.
Выберите поле Состояние и щелкните значок многоточия (…). В появившемся меню содержится несколько пунктов, таких как постановка новой сборки в очередь, приостановка сборки и изменение конвейера сборки.
Выберите команду Изменить.
В этой области можно просмотреть различные задачи для конвейера сборки. При сборке выполняются различные задачи, такие как получение исходного кода из репозитория Git, восстановление зависимостей и публикация результатов, используемых для развертывания.
Выберите имя конвейера сборки в верхней части соответствующей области.
Замените имя конвейера сборки более понятным для себя, выберите Сохранить и поместить в очередь и нажмите кнопку Сохранить.
Под именем конвейера сборки щелкните Журнал. В этой области отображается журнал аудита последних изменений сборки. Azure DevOps отслеживает все изменения, внесенные в конвейер сборки, и позволяет сравнивать версии.
Выберите Триггеры. DevOps Starter автоматически создает триггер CI, а при каждой фиксации в репозитории запускается новая сборка. При необходимости выберите для процесса непрерывной интеграции включение или исключение ветвей.
Щелкните Период удержания. В зависимости от сценария можно указать политики для хранения или удаления определенного количества сборок.
Просмотр конвейера выпуска CD
DevOps Starter автоматически создает и настраивает необходимые шаги для развертывания из вашей организации Azure DevOps в подписке Azure. Эти шаги включают настройку подключения к службе Azure для аутентификации Azure DevOps в подписке Azure. Также автоматически создается конвейер выпуска, обеспечивающий непрерывное развертывание в Azure. Чтобы получить дополнительные сведения о конвейере выпуска, сделайте следующее:
Выберите Сборка и выпуск, а затем — Выпуски. DevOps Starter создаст конвейер выпуска для управления развертываниями в Azure.
Щелкните многоточие (…) рядом с конвейером выпуска и выберите Изменить. Конвейер выпуска содержит конвейер, в котором определен процесс выпуска.
В разделе Артефакты выберите Удалить. Конвейер сборки, который вы изучали на предыдущих этапах, создаст выходные данные для артефакта.
Справа от значка Удалить выберите Триггер непрерывного развертывания. В этом конвейере выпуска активирован триггер непрерывного развертывания, выполняющий развертывание каждый раз, когда становится доступным новый артефакт сборки. При желании можно отключить триггер, чтобы выполнить развертывание вручную.
В области справа выберите Просмотреть выпуски, чтобы отобразился журнал выпусков.
Щелкните многоточие (…) рядом с одним из выпусков и выберите Открыть. Отобразится меню с несколькими элементами, такими как сводка выпуска, связанные рабочие элементы и тесты.
Щелкните Фиксации. В этом представлении отображаются фиксации кода, связанные с текущим развертыванием. Сравните выпуски, чтобы просмотреть различия между развертываниями.
Выберите Журналы. Журналы содержат полезную информацию о процессе развертывания. Их можно просматривать во время и после развертывания.
Фиксация изменений в Azure Repos и их автоматическое развертывание в Azure
Примечание
Ниже описана процедура для проверки конвейера CI/CD путем простого изменения текста.
Теперь вы готовы к совместной работе над приложением с использованием процесса CI/CD для автоматического развертывания последних результатов работы на своем веб-сайте. При каждом изменении в репозитории Git запускается сборка в Azure DevOps и конвейер CD выполняет развертывание в Azure. Используйте описанную в этом разделе процедуру или другой метод, чтобы зафиксировать изменения в репозитории. Например, можно скопировать репозиторий Git в предпочитаемое вами средство или интегрированную среду разработки, а затем отправить изменения в этот репозиторий.
В меню Azure DevOps последовательно выберите Код>Файлы и перейдите к репозиторию.
Откройте каталог Views\Home, затем нажмите многоточие (...) рядом с файлом Index.cshtml и щелкните Изменить.
Внесите изменения в файл, например, измените определенный текст внутри одного из тегов div.
В правом верхнем углу выберите Зафиксировать, после чего снова нажмите Зафиксировать, чтобы отправить изменения. Через несколько секунд начнется процесс сборки в Azure DevOps, после чего будет выполнена операция выпуска для развертывания изменений. Вы можете отслеживать состояние сборки на панели мониторинга DevOps Starter или в браузере в своей организации Azure DevOps.
По завершения выпуска обновите приложение, чтобы проверить внесенные изменения.
Очистка ресурсов
Если вы выполняете тестирование, можно очистить ресурсы, чтобы избежать дополнительных расходов. Ненужный кластер AKS и связанные с ним ресурсы, созданные в рамках этого руководства, можно удалить. Для этого воспользуйтесь функцией Удалить на панели мониторинга DevOps Starter.
Важно!
Следующая процедура безвозвратно удаляет ресурсы. Функция Удалить безвозвратно удаляет в Azure и в Azure DevOps данные, созданные в проекте DevOps Starter. Выполняйте эту процедуру только после того, как прочли предупреждение.
- На портале Azure перейдите к панели мониторинга DevOps Starter.
- В правом верхнем углу выберите Удалить.
- В окне предупреждения выберите Да, чтобы удалить ресурсы без возможности восстановления.
Дальнейшие действия
Вы можете по желанию изменить эти конвейеры сборки и выпуска в соответствии с потребностями вашей команды. Вы также можете использовать этот шаблон 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))