Ingress controller

Простыми словами

Запись «запросы к /api отправлять в этот сервис» сама по себе трафик не перенаправляет. Нужен работающий контроллер, который прочитает правило и применит его к точке входа.

Как применяется

Контроллер используют для публикации веб-приложений, маршрутизации по имени хоста и пути, завершения TLS. Аутентификация, ограничения запросов и расширенные настройки зависят от выбранной реализации. Наличие Ingress не означает, что приложение защищено от атак.

Пример применения

Команда публикует личный кабинет на одном домене: /api ведёт к сервису backend, остальные запросы — к frontend. Проверяют сертификат, недоступность внутренних административных путей и отсутствие прямого обхода точки входа. Для новых архитектур отдельно рассматривают Gateway API: развитие Ingress API остановлено.

Не путать с

  • IngressОбъект с правилами маршрутизации, а не исполняющий их процесс.
  • ServiceПредоставляет доступ к набору Pod; не заменяет маршрутизацию HTTP по доменам и путям.
  • Service meshУправляет взаимодействием сервисов внутри приложения; задачи могут пересекаться на границе сети.

Как это работает

  1. Установить контроллерВыбирают поддерживаемую реализацию и способ подключения внешнего балансировщика.
  2. Описать маршрутУказывают класс Ingress, домен, путь и целевой Service.
  3. Настроить TLSПодключают сертификат и определяют, где заканчивается защищённое соединение.
  4. Проверить запросыТестируют разрешённые маршруты, ошибки, журналы и попытки обхода.

Продолжить изучение

Связанные термины

Частые вопросы

Почему Ingress не заработал?

Возможные причины — нет контроллера, неверный класс, недоступный Service или ошибочная конфигурация сети. Объект Ingress сам трафик не обрабатывает.

Всегда ли здесь нужен WAF?

Это отдельное решение по модели угроз. Ingress-контроллер не является WAF автоматически.

Ingress устарел?

API заморожен, но не удалён. Для нового проекта оценивают Gateway API и поддержку конкретного контроллера.

Ingress controller — компонент, который отслеживает объекты Ingress в Kubernetes и настраивает обработку внешних HTTP- и HTTPS-запросов к сервисам кластера. Сам объект Ingress описывает правила; контроллер обеспечивает их исполнение через прокси или балансировщик.