Настройка приложений контейнеров Azure

Завершено

В этом уроке вы узнаете, как создать среду приложений контейнеров Azure и базу данных Azure для PostgreSQL с помощью Azure CLI. Затем вы настроите приложение Quarkus таким образом, чтобы он подключается к удаленной базе данных вместо локальной.

Для развертывания приложения Quarkus в Azure доступно несколько целевых объектов, начиная от IaaS до FaaS. Приложения контейнеров Azure между PaaS и FaaS. Это больше похоже на PaaS, потому что он не принуждает вас использовать определённую модель программирования, и вы можете управлять правилами, по которым осуществляется масштабирование. С другой стороны, она имеет некоторые бессерверные характеристики, такие как масштабирование до нуля, масштабирование на основе событий и модель ценообразования в секунду.

Снимок экрана: все вычислительные службы Azure.

Контейнерные приложения основаны на службе Azure Kubernetes (AKS). Она включает глубокую интеграцию с KEDA (автомасштабирование на основе событий для Kubernetes), Dapr (распределенная среда выполнения приложений) и Envoy (прокси-сервер службы, предназначенный для облачных приложений). Базовая сложность абстрагируется, поэтому вам не нужно настраивать службу Kubernetes, развертывание, входящий трафик или манифесты тома. Вы получаете простой API и пользовательский интерфейс для настройки контейнерного приложения. Из-за этого упрощения у вас меньше контроля, чем у вас с AKS.

В контейнерных приложениях приложения должны быть упаковываться в контейнер Docker. Контейнерные приложения поддерживают контейнеры Docker, созданные с помощью Dockerfiles или Jib. Контейнер должен быть доступен в реестре контейнеров. Контейнерные приложения поддерживают реестр контейнеров Azure, Docker Hub и реестр контейнеров GitHub. После того как образ приложения будет доступен в реестре, контейнерные приложения поддерживают развертывание с портала Azure, Azure CLI, GitHub Actions и Azure DevOps.

Контейнерные приложения предоставляют следующие функции.

  • Редакции: автоматическое создание версий, которое помогает управлять жизненным циклом контейнерных приложений.
  • Управление трафиком: возможность разделения входящего HTTP-трафика по нескольким редакциям для развертываний синего или зеленого цвета и тестирования A/B.
  • Входящий трафик: простая конфигурация входящего трафика HTTPS. Вам не нужно беспокоиться о DNS или сертификатах.
  • Автомасштабирование: триггеры масштабирования, поддерживаемые KEDA, для масштабирования приложения на основе внешних метрик.
  • Секреты: Секреты, которые используются совместно контейнерами, правилами масштабирования и вспомогательными модулями Dapr.
  • Мониторинг: стандартные выходные данные и потоки ошибок, которые автоматически записываются в Log Analytics.
  • Dapr: интеграция Dapr для приложений контейнеров. Включите эту интеграцию с помощью простого флага.

В следующем упражнении вы узнаете о следующих понятиях.

  • Среда: граница повышенной безопасности вокруг группы приложений-контейнеров. Приложения развертываются в одной виртуальной сети, они могут легко взаимодействовать друг с другом и записывать журналы в одну рабочую область Log Analytics. Среду можно сравнить с пространством имен Kubernetes.
  • Контейнерное приложение: группа контейнеров (pod), развернутая и масштабируемая вместе. Они совместно используют одно дисковое пространство и сеть.
  • Ревизия: неизменяемый снимок контейнерного приложения. Новые редакции создаются автоматически и ценятся для стратегий перенаправления трафика HTTP, таких как тестирование A/B.

Снимок экрана, иллюстрирующий концепции контейнерных приложений.

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