Настройка приложений контейнеров Azure
В этом уроке вы узнаете, как создать среду приложений контейнеров Azure и базу данных Azure для PostgreSQL с помощью Azure CLI. Затем вы настроите приложение Quarkus таким образом, чтобы он подключается к удаленной базе данных вместо локальной.
Для развертывания приложения Quarkus в Azure доступно несколько целевых объектов, начиная от IaaS до FaaS. Приложения контейнеров Azure между PaaS и FaaS. Это больше похоже на PaaS, потому что он не заставляет вас в определенную модель программирования, и вы можете управлять правилами, с помощью которых масштабироваться и в. С другой стороны, она имеет некоторые бессерверные характеристики, такие как масштабирование до нуля, масштабирование на основе событий и модель ценообразования в секунду.
Приложения-контейнеры основаны на Служба 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.
Теперь вы создадите среду приложения-контейнера, чтобы узнать, как работают эти элементы.