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


Что такое контроллер объекта ingress Шлюза приложений?

Контроллер объекта ingress Шлюза приложений (AGIC) — это приложение Kubernetes, которое позволяет клиентам Службы Azure Kubernetes (AKS) использовать собственную подсистему балансировки нагрузки уровня 7 Шлюза приложений Azure, чтобы предоставлять доступ к облачному программному обеспечению через Интернет. AGIC отслеживает кластер Kubernetes, в котором он размещен, и постоянно обновляет Шлюз приложений, чтобы выбранные службы предоставлялись в Интернете.

Контроллер объекта ingress работает в собственном pod в AKS клиента. AGIC отслеживает изменения, вносимые в подмножество ресурсов Kubernetes. Состояние кластера AKS преобразовывается в конфигурацию шлюза приложений и применяется к Azure Resource Manager (ARM).

Преимущества контроллера объекта ingress Шлюза приложений

AGIC помогает устранить необходимость в наличии другого ip-адреса подсистемы балансировки нагрузки или общедоступного IP-адреса перед кластером AKS и избегает нескольких прыжков в пути к данным, прежде чем запросы достигают кластера AKS. Шлюз приложений взаимодействует с модулями pod с помощью частного IP-адреса напрямую и не требует служб NodePort или KubeProxy. Эта возможность также обеспечивает более высокую производительность развертываний.

Контроллер входящего трафика поддерживается исключительно Standard_v2 и WAF_v2 SKU, что также обеспечивает преимущества автомасштабирования. Шлюз приложений может реагировать на увеличение или уменьшение объема трафика и соответствующим образом изменять масштаб, не используя ресурсы из кластера AKS.

Использование Шлюза приложений в дополнение к AGIC также помогает защитить кластер AKS, так как обеспечивает политику TLS и функции брандмауэра веб-приложения (WAF).

Шлюз приложений Azure и AKS

Для настройки AGIC используется ресурс ingress Kubernetes, а также службы, развертывания и модули pod. Она предоставляет множество функций с помощью собственного Шлюз приложений подсистемы балансировки нагрузки L7 в Azure. Чтобы указать несколько имен, выполните следующие действия.

  • Маршрутизация URL-адресов
  • Сходство на основе файлов cookie
  • завершение сеанса TLS;
  • Сквозное шифрование TLS
  • поддержка общедоступных, частных и гибридных веб-сайтов;
  • Интегрированный брандмауэр веб-приложения

Разница между развертыванием Helm и надстройкой AKS

Существуют два способа развертывания AGIC в кластере AKS. Первый способ — используя Helm, второй — используя AKS в качестве надстройки. Основное преимущество развертывания AGIC в качестве надстройки AKS заключается в том, что это проще, чем развертывание через Helm. Для новой конфигурации можно развернуть новый шлюз приложений и новый кластер AKS с AGIC, включенным в качестве надстройки, выполнив одну строку команд в Azure CLI. Надстройка также является полностью управляемой службой, что предоставляет дополнительные преимущества, такие как автоматическое обновление и расширенная поддержка. Оба способа развертывания AGIC (с помощью Helm и надстройки AKS) полностью поддерживаются корпорацией Майкрософт. Кроме того, надстройка обеспечивает лучшую интеграцию с AKS, так как является надстройкой первого класса.

Надстройка AGIC по-прежнему развертывается как pod в кластере AKS клиента, однако существует ряд различий между версией развертывания Helm и версией надстройки AGIC. Ниже приведен список различий между двумя версиями:

  • Значения развертывания Helm нельзя изменить в надстройке AKS:
    • verbosityLevel значение 5 по умолчанию
    • usePrivateIp значение false по умолчанию; этот параметр можно перезаписать с помощью заметки use-private-ip
    • shared не поддерживается в надстройке
    • reconcilePeriodSeconds не поддерживается в надстройке
    • armAuth.type не поддерживается в надстройке
  • Контроллер AGIC, развернутый посредством Helm, поддерживает ProhibitedTargets. Это означает, что AGIC может настроить шлюз приложений специально для кластеров AKS, не затрагивая другие существующие серверные части. Надстройка AGIC в настоящее время не поддерживает эту возможность.
  • Так как надстройка AGIC является управляемой службой, клиенты автоматически обновляются до последней версии надстройки AGIC, в отличие от AGIC, развернутой через Helm, где клиент должен вручную обновить AGIC.

Примечание.

Клиенты могут развернуть только одну надстройку AGIC в кластере AKS, и каждая надстройка AGIC в настоящее время может быть назначена только одному шлюзу приложений. Для развертываний, требующих более одного контроллера AGIC на кластер или нескольких контроллеров AGIC, предназначенных для одного шлюза приложений, можно использовать контроллеры AGIC, развернутые с помощью Helm.

Следующие шаги