Поделиться через


Автоматическое развертывание для службы Azure Kubernetes (AKS)

Автоматизированные развертывания упрощают процесс настройки GitHub Actions или конвейера в Azure DevOps, что облегчает создание конвейера непрерывного развертывания для вашего приложения в Azure Kubernetes Service (AKS). После подключения каждый новый коммит автоматически запускает конвейер, обеспечивая обновление вашего приложения без перебоев. Вы можете использовать собственные файлы развертывания для быстрого создания конвейера или создавать манифесты Dockerfile и Kubernetes для контейнеризации и развертывания неконтейнерных приложений с минимальными усилиями.

Предпосылки

Подключение к репозиторию исходного кода

Создайте рабочий процесс автоматического развертывания и авторизуйте его для подключения к требуемому репозиторию исходного кода.

  1. В портал Azure перейдите к ресурсу кластера AKS.
  2. В меню службы в разделе "Параметры" выберите "Автоматические развертывания>" "Создать".
  3. В разделе "Сведения о репозитории" введите имя рабочего процесса, а затем выберите GitHub или ADO для расположения репозитория.
  4. Выберите "Авторизовать доступ", чтобы подключиться к нужному репозиторию.
  5. Выберите репозиторий и ветвь, а затем нажмите кнопку "Далее".

Выбор конфигурации образа контейнера

Чтобы подготовить приложение для Kubernetes, необходимо создать его в образ контейнера и сохранить его в реестре контейнеров. Вы используете Dockerfile для предоставления инструкций по созданию образа контейнера. Если в репозитории исходного кода еще нет файла Dockerfile, автоматическое развертывание может создать его для вас. В противном случае можно использовать существующий Файл Dockerfile.

Используйте автоматизированные развертывания для создания Файла Dockerfile для многих языков и платформ, таких как Go, C#, Node.js, Python, Java, Gradle, Clojure, PHP, Ruby, Erlang, Swift и Rust. Поддержка языка основана на том, что доступно в draft.sh.

  1. Выберите автоконтейнеризацию (создайте Dockerfile) для конфигурации контейнера.
  2. Выберите расположение места сохранения созданного Файла Dockerfile в репозитории.
  3. Выберите среду приложения из списка поддерживаемых языков и платформ.
  4. Введите порт приложения.
  5. Укажите путь к Dockerfile контексту сборки.
  6. Выберите существующий реестр контейнеров Azure или создайте новый. Этот реестр используется для хранения созданного образа приложения.

Выбор конфигурации манифеста Kubernetes

Замечание

Параметр "Создать манифесты" также поддерживает расширенные функции, такие как интеграция сервисного коннектора, автоматически создаваемые ресурсы Ingress и более подробные настраиваемые файлы манифестов Kubernetes.

Приложение, работающее в Kubernetes, состоит из множества примитивных компонентов Kubernetes. Эти компоненты описывают используемый образ контейнера, сколько реплик для выполнения, если для предоставления приложения требуется общедоступный IP-адрес и т. д. Дополнительные сведения см. в официальной [документации Kubernetes][kubernetes-documentation]. Если репозиторий исходного кода еще не содержит базовых манифестов Kubernetes для развертывания, автоматические развертывания могут создавать их для вас. В противном случае можно использовать набор существующих манифестов. Вы также можете выбрать существующую диаграмму Helm.

Если репозиторий кода уже имеет Dockerfile, его можно выбрать для создания образа приложения.

  1. Выберите "Использовать существующие файлы развертывания манифестов Kubernetes" для параметров развертывания.
  2. Выберите файл манифеста Kubernetes или папку из репозитория.
  3. Нажмите кнопку Далее.

(Необязательно) Использование управляемого входа и/или коннектора службы

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

Маршрутизация приложений предоставляет полностью управляемый контроллер входящего трафика на основе NGINX, с полной поддержкой встроенного шифрования SSL/TLS с использованием сертификатов, хранящихся в Azure Key Vault, и управлением зонами DNS через Azure DNS. При использовании автоматизированных развертываний команда для открытия доступа к входящему трафику легко интегрируется с маршрутизацией приложений, что упрощает процесс предоставления вашему приложению доступа к внешнему трафику под безопасным, настраиваемым пользовательским DNS-именем с минимальной конфигурацией.

  1. Выберите поле "Включить входящий трафик".
  2. Выберите существующий контроллер входящего трафика или новый контроллер входящего трафика.
  3. Выберите использование контроллера входящего трафика с поддержкой SSL/TLS или небезопасного контроллера.
  4. (Необязательно) Введите сведения о сертификате при выборе контроллера входящего трафика с поддержкой SSL/TLS .
  5. Выберите один из вариантов использования Azure DNS или стороннего поставщика.
  6. Введите зону Azure DNS и имя поддомена.

(Необязательно) Добавление переменных среды

Определите переменные среды для контейнера в Kubernetes, указав пары "имя-значение". Переменные среды важны, так как они помогают упростить управление параметрами, безопасной обработкой конфиденциальной информации и гибкостью в разных средах.

Проверка конфигурации и развертывание

Просмотрите конфигурацию приложения и манифесты Kubernetes, а затем нажмите кнопку "Развернуть". Запрос (PR) будет создан в выбранном вами репозитории, поэтому не покидайте страницу развертывания.

Проверка и слияние запроса на вытягивание

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

Скриншот pull request на GitHub.

  1. Просмотрите изменения в разделе "Файлы" и внесите необходимые изменения.
  2. Выберите Merge pull request, чтобы объединить изменения в ваш кодовый репозиторий.

Объединение изменений запускает рабочий процесс GitHub Actions, который создает из вашего приложения образ контейнера, сохраняет этот образ в реестре контейнеров Azure и развертывает его в кластере.

Скриншот: рабочий процесс GitHub Actions выполняется в данный момент.

Проверка развернутых ресурсов

После завершения конвейера можно просмотреть созданные Kubernetes Service на портале Azure, выбрав службы и входы в разделе ресурсов Kubernetes в меню службы.

Снимок экрана: панель служб и входящего трафика.

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

Снимок экрана: запущенное приложение Contoso Air.

Удаление ресурсов

Завершив работу с вашим кластером, выполните следующие шаги, чтобы удалить его и избежать взимания расходов Azure.

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