Рекомендации и рекомендации по Экземпляры контейнеров Azure
Экземпляры контейнеров Azure (ACI) позволяют упаковывать, развертывать и управлять облачными приложениями без необходимости управлять базовой инфраструктурой. Распространенные сценарии, которые выполняются в ACI, включают в себя рабочие нагрузки с ускорением, автоматизацию задач и задания сборки. Вы можете использовать ACI, определив необходимые ресурсы для каждой группы контейнеров, включая виртуальный ЦП и память. ACI — это отличное решение для любого сценария, который может работать в изолированном контейнере. ACI обеспечивает быстрое время запуска, безопасность уровня гипервызора, пользовательские размеры контейнеров и многое другое. Следующие сведения помогут определить, лучше ли Экземпляры контейнеров Azure подходит для вашего сценария.
Что следует учитывать
Учетные данные пользователя, передаваемые через интерфейс командной строки (CLI), хранятся в виде обычного текста в серверной части. Хранение учетных данных в виде обычного текста является угрозой безопасности; Корпорация Майкрософт рекомендует клиентам хранить учетные данные пользователей в переменных среды CLI, чтобы убедиться, что они шифруются и преобразуются при хранении в серверной части.
Существуют ограничения по умолчанию, которые могут потребовать увеличения квоты. Дополнительные сведения: ограничения доступности ресурсов и квоты для ACI — Экземпляры контейнеров Azure | Microsoft Learn
Образы контейнеров не могут превышать 15 ГБ, любые изображения, превышающие этот размер, могут привести к непредвиденному поведению: насколько большим может быть образ контейнера?
Если образ контейнера превышает 15 ГБ, можно подключить Файлы Azure hare для хранения образа.
Если группа контейнеров перезапускается, IP-адрес группы контейнеров может измениться. Мы советуем использовать жестко закодированный IP-адрес в вашем сценарии. Если вам нужен статический общедоступный IP-адрес, используйте Шлюз приложений: статический IP-адрес для группы контейнеров — Экземпляры контейнеров Azure | Microsoft Learn. Если вы хотите обеспечить доступ к группе контейнеров с помощью его доменного имени, даже если группа контейнеров повторно создана, можно использовать контейнеры инициализации: развертывание Экземпляры контейнеров Azure с контейнером инициализации | Microsoft Learn.
Существуют порты, зарезервированные для функциональных возможностей службы. Мы советуем не использовать эти порты, так как их использование приводит к неожиданному поведению: резервирует ли служба ACI порты для функциональных возможностей службы?
Группы контейнеров могут перезапуститься из-за событий обслуживания платформы. Эти события обслуживания выполняются для обеспечения непрерывного улучшения базовой инфраструктуры: контейнер имел изолированный перезапуск без явного ввода пользователем.
ACI не разрешает привилегированные операции контейнера. Мы советуем не зависеть от использования корневого каталога для вашего сценария.
Рекомендации
Мы советуем запускать группы контейнеров в нескольких регионах, чтобы рабочие нагрузки могли продолжать работать, если в одном регионе возникла проблема.
Мы рекомендуем использовать жестко закодированный IP-адрес в вашем сценарии, так как IP-адрес группы контейнеров не гарантируется. Чтобы устранить проблемы с подключением, рекомендуется настроить шлюз. Если контейнер находится за общедоступным IP-адресом и вам нужен статический общедоступный IP-адрес, используйте Шлюз приложений. Если контейнер находится за виртуальной сетью и вам нужен статический IP-адрес, рекомендуется использовать шлюз NAT.
Другие параметры контейнера Azure
Приложения-контейнеры Azure
Приложения-контейнеры Azure позволяют создавать бессерверные микрослужбы на основе контейнеров. Приложения-контейнеры Azure не предоставляют прямой доступ к базовым API Kubernetes. Если требуется доступ к интерфейсам API и уровню управления Kubernetes, то следует использовать Службу Azure Kubernetes. Однако если вы хотите создавать приложения в стиле Kubernetes и вам не требуется прямой доступ ко всем собственным интерфейсам API Kubernetes и управлению кластером, то приложения-контейнеры предоставят полностью управляемый интерфейс на основе рекомендаций. По этим причинам многие команды предпочитают начинать создание контейнерных микрослужб с помощью приложений-контейнеров Azure.
Служба приложений Azure
Служба приложений Azure обеспечивает полностью управляемое размещение веб-приложений, включая веб-сайты и веб-API. Эти веб-приложения можно развертывать с помощью кода или контейнеров. Служба приложений Azure оптимизирована для веб-приложений. Служба приложений Azure интегрируется с другими службами Azure, включая приложения-контейнеры Azure и Функции Azure. Если вы планируете создавать веб-приложения, служба приложение Azure является идеальным вариантом.
Экземпляры контейнеров Azure
Экземпляры контейнеров Azure (ACI) предоставляют отдельный pod изолированных контейнеров Hyper-V по запросу. Его можно рассматривать как "стандартный блок" более низкого уровня по сравнению с приложениями-контейнерами. Такие понятия, как масштабирование, балансировка нагрузки и сертификаты, не предоставляются контейнерами ACI. Например, чтобы масштабировать инфраструктуру до пяти экземпляров контейнера, следует создать пять отдельных экземпляров контейнера. Приложения-контейнеры Azure предоставляют множество возможностей контейнеров, включая сертификаты, редакции, масштабирование и среды. Пользователи часто взаимодействуют с Экземплярами контейнеров Azure через другие службы. Например, Служба Azure Kubernetes может выполнять оркестрацию уровней и масштабировать их поверх ACI с помощью виртуальных узлов. Если вам нужен менее консервативный стандартный блок, который не соответствует сценариям, для которых оптимизированы приложения-контейнеры Azure, то вам идеально подойдут Экземпляры контейнеров Azure.
Служба Azure Kubernetes
Служба Azure Kubernetes (AKS) предоставляет полностью управляемый параметр Kubernetes в Azure. Он поддерживает прямой доступ к API Kubernetes и выполняет любую рабочую нагрузку Kubernetes. Весь кластер размещается в вашей подписке, включая конфигурации и операции кластера, находящиеся в пределах вашего контроля и ответственности. Служба Azure Kubernetes является идеальным вариантом для команд, которым требуется полностью управляемая версия Kubernetes в Azure.
Функции Azure
Функции Azure — это бессерверное решение "функции как услуга" (FaaS). Оно оптимизировано для выполнения приложений, управляемых событиями, с помощью модели программирования функций. Они во многом схожи с приложениями-контейнерами Azure с точки зрения масштабирования и интеграции, но оптимизированы для временных функций, развернутых в виде кода или контейнеров. Модель программирования Функций Azure обеспечивает преимущества производительности для команд разработчиков, которым требуется активация выполнения функций по событиям и привязка к другим источникам данных. Если вы планируете создавать функции в стиле FaaS, Функции Azure является идеальным вариантом. Модель программирования Функций Azure доступна в виде базового образа контейнера. Это дает возможность перенести ее на другие платформы вычислений на основе контейнеров, позволяя командам многократно использовать код при изменении требований к среде.
Azure Spring Apps
Azure Spring Apps — это полностью управляемая служба для разработчиков Spring. Если вы хотите запустить Spring Boot, Spring Cloud или любые другие приложения Spring в Azure, Azure Spring Apps является идеальным вариантом. Эта служба управляет инфраструктурой приложений Spring, благодаря чему разработчики могут сосредоточиться на коде. Azure Spring Apps обеспечивает управление жизненным циклом за счет комплексного мониторинга и диагностики, управления конфигурацией, обнаружения служб, интеграции CI/CD, выполнения сине-зеленых развертываний и прочего.
Azure Red Hat OpenShift
Red Hat и Корпорация Майкрософт совместно работают и поддерживают Azure Red Hat OpenShift для предоставления интегрированного продукта и поддержки для запуска OpenShift под управлением Kubernetes. Azure Red Hat OpenShift позволяет выбрать собственный реестр, сеть, хранилище и решения CI/CD или использовать встроенные решения OpenShift для автоматического управления исходным кодом, создания контейнеров и приложений, а также их развертывания, масштабирования, управления состоянием работоспособности и многого другого. Если ваша команда или организация использует OpenShift, Azure Red Hat OpenShift станет оптимальным вариантом.
Следующие шаги
Узнайте, как развертывать группу контейнеров с несколькими контейнерами с использованием шаблона Azure Resource Manager: