Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • AI Studio
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»
Yandex Application Load Balancer
  • Начало работы
    • Обзор
      • Обзор
      • Принципы работы
      • Установить Ingress-контроллер
      • Обновить Ingress-контроллер
    • Настройка групп безопасности
    • Работа с сервисными аккаунтами
    • Создание и изменение ресурсов по конфигурации
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Логи L7-балансировщика
  • История изменений
  • Обучающие курсы

В этой статье:

  • Пример конфигурации
  • Установка и требования
  • Настройки логирования
  • Интеграция с сервисом Yandex Smart Web Security
  • Маршрутизация трафика с помощью нескольких Ingress-контроллеров
  1. Инструменты для Managed Service for Kubernetes
  2. Ingress-контроллер
  3. Обзор

Ingress-контроллер для Managed Service for Kubernetes

Статья создана
Yandex Cloud
Обновлена 24 февраля 2025 г.
  • Пример конфигурации
  • Установка и требования
  • Настройки логирования
  • Интеграция с сервисом Yandex Smart Web Security
  • Маршрутизация трафика с помощью нескольких Ingress-контроллеров

Application Load Balancer предоставляет инструмент для создания и управления балансировщиками нагрузки в кластерах Yandex Managed Service for Kubernetes — Ingress-контроллер Application Load Balancer.

Ingress-контроллер, установленный в кластер, будет автоматически разворачивать L7-балансировщики со всеми необходимыми ресурсами Application Load Balancer, основываясь на конфигурации созданных вами ресурсов Ingress.

Полную конфигурацию ресурсов для Ingress-контроллера Application Load Balancer см. в следующих разделах:

  • Ingress — правила распределения трафика между бэкендами и настройки Ingress-контроллера.
  • HttpBackendGroup и GrpcBackendGroup — объединение бэкендов в группы.
  • IngressClass — управление несколькими Ingress-контроллерами в кластере Kubernetes.
  • Service — описание сервисов Kubernetes, используемых в качестве бэкендов.

Пример конфигурацииПример конфигурации

Ниже приведен сокращенный пример конфигурации ресурса Ingress. По ней будет создан балансировщик, принимающий HTTPS-трафик и распределяющий его по двум сервисам в зависимости от пути в URI запроса.

Пример
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: alb-demo-tls
spec:
  tls:
    - hosts:
        - <доменное_имя>
      secretName: yc-certmgr-cert-id-<идентификатор_сертификата>
  rules:
    - host: <доменное_имя>
      http:
        paths:
          - path: /app1
            pathType: Prefix
            backend:
              service:
                name: alb-demo-1
                port:
                  number: 80
          - path: /app2
            pathType: Prefix
            backend:
              service:
                name: alb-demo-2
                port:
                  number: 80
          - pathType: Prefix
            path: "/"
            backend:
              service:
                name: alb-demo-2
                port:
                  name: http

Где secretName — идентификатор сертификата из Yandex Certificate Manager.

При такой конфигурации ресурса Ingress в ALB Ingress Controller версии 0.2.0 и позднее группы бэкендов соответствуют параметру backend.service. В версиях 0.1.x используются другие параметры: host, http.paths.path и http.paths.pathType. В результате при обновлении ALB Ingress Controller могут возникнуть коллизии. Чтобы избежать их, узнайте, применимы ли ограничения при обновлении к вашей инфраструктуре.

Установка и требованияУстановка и требования

Для установки Ingress-контроллера Application Load Balancer требуются:

  • Кластер Managed Service for Kubernetes.
  • Группа узлов в кластере.
  • Пространство имен в кластере для хранения ключа сервисного аккаунта.

Установить Ingress-контроллер можно по инструкции.

Настройки логированияНастройки логирования

Чтобы задать настройки логирования для L7-балансировщика, созданного с помощью Ingress-контроллера Application Load Balancer в кластере Managed Service for Kubernetes, добавьте аннотацию ingress.alb.yc.io/group-settings-name с именем для настроек группы ресурсов Ingress и укажите настройки в дополнительном ресурсе IngressGroupSettings. Подробнее см. в разделе Аннотации ресурса Ingress.

Интеграция с сервисом Yandex Smart Web SecurityИнтеграция с сервисом Yandex Smart Web Security

В Ingress-контроллере вы можете включить поддержку сервиса Yandex Smart Web Security, который позволяет защититься от DDoS-атак и ботов, а также задействовать WAF и ограничить нагрузку на защищаемый ресурс.

Сервис проверяет HTTP-запросы, которые поступают к защищаемому ресурсу через виртуальный хост L7-балансировщика. В зависимости от результатов проверки сервис направляет запросы на защищаемый ресурс, блокирует их или отправляет в Yandex SmartCaptcha для дополнительной верификации.

Чтобы включить поддержку сервиса, в аннотации Ingress укажите идентификатор профиля безопасности Smart Web Security:

ingress.alb.yc.io/security-profile-id: <идентификатор_профиля_безопасности>

Профиль содержит список условий проверки и действий, которые применяются к приходящим HTTP-запросам по результатам проверки.

Если у вас нет профиля безопасности, создайте его.

Маршрутизация трафика с помощью нескольких Ingress-контроллеровМаршрутизация трафика с помощью нескольких Ingress-контроллеров

Для одного приложения можно использовать несколько Ingress-контроллеров, например Application Load Balancer и NGINX. Чтобы корректно маршрутизировать трафик в такой инфраструктуре, создайте ресурс IngressClass для каждого Ingress-контроллера. В ресурсе Ingress, в поле spec.ingressClassName укажите, к какому IngressClass относится ресурс Ingress. На GitHub есть пример, как настроить ресурсы Ingress и маршрутизировать трафик с помощью нескольких Ingress-контроллеров.

См. такжеСм. также

  • Принципы работы контроллера.
  • Настройка групп безопасности для кластера Kubernetes и балансировщика.
  • Сервисный аккаунт для работы контроллера.
  • ALB Ingress Controller в Yandex Cloud Marketplace.

Была ли статья полезна?

Предыдущая
Обзор
Следующая
Принципы работы
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»