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

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

  • Перед началом работы
  • Установка с помощью Yandex Cloud Marketplace
  • Установка с помощью Helm-чарта
  • Автоматическое обновление приложения
  • Примеры использования
  • См. также
  1. Инструменты для Managed Service for Kubernetes
  2. Gateway API
  3. Установить Gateway API

Установить Gateway API Application Load Balancer для Managed Service for Kubernetes

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 6 мая 2025 г.
  • Перед началом работы
  • Установка с помощью Yandex Cloud Marketplace
  • Установка с помощью Helm-чарта
  • Автоматическое обновление приложения
  • Примеры использования
  • См. также

Gateway API — набор ресурсов API, моделирующих сетевое взаимодействие в кластере Managed Service for Kubernetes. Среди них GatewayClass, Gateway, HTTPRoute и другие.

В сервисе Managed Service for Kubernetes Gateway API запускает Yandex Application Load Balancer и необходимые вспомогательные ресурсы, когда пользователь Kubernetes объявляет ресурс Gateway в кластере Managed Service for Kubernetes.

Перед началом работыПеред началом работы

  1. Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

    По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  2. Создайте сервисный аккаунт, необходимый для работы Gateway API.

  3. Назначьте сервисному аккаунту роли:

    • alb.editor — для создания необходимых ресурсов.
    • vpc.publicAdmin — для управления внешней связностью.
    • certificate-manager.admin — для работы с сертификатами, зарегистрированными в сервисе Yandex Certificate Manager.
    • compute.viewer — для использования узлов кластера Managed Service for Kubernetes в целевых группах балансировщика.
  4. Создайте для сервисного аккаунта авторизованный ключ и сохраните ключ в файл sa-key.json:

    yc iam key create \
      --service-account-name <имя_сервисного_аккаунта_для_Gateway_API> \
      --output sa-key.json
    
  5. Убедитесь, что группы безопасности для кластера Managed Service for Kubernetes и его групп узлов настроены корректно. Если отсутствует какое-либо из правил — добавьте его.

    Важно

    От настройки групп безопасности зависит работоспособность и доступность кластера, а также запущенных в нем сервисов и приложений.

Установка с помощью Yandex Cloud MarketplaceУстановка с помощью Yandex Cloud Marketplace

  1. Перейдите на страницу каталога и выберите сервис Managed Service for Kubernetes.
  2. Нажмите на имя нужного кластера Managed Service for Kubernetes и выберите вкладку Marketplace.
  3. В разделе Доступные для установки приложения выберите Gateway API и нажмите кнопку Перейти к установке.
  4. Задайте настройки приложения:
    • Пространство имен — создайте новое пространство имен (например, gateway-api-space). Если вы оставите пространство имен по умолчанию, Gateway API может работать некорректно.
    • Название приложения — укажите название приложения.
    • Идентификатор каталога — выберите каталог, в котором нужно создавать балансировщики.
    • Идентификатор сети — выберите облачную сеть, в которой нужно располагать балансировщики.
    • Идентификатор подсети 1, Идентификатор подсети 2, Идентификатор подсети 3 — выберите подсети, в которых нужно располагать балансировщики.
    • Ключ сервисного аккаунта — вставьте содержимое файла sa-key.json или создайте новый ключ сервисного аккаунта.
  5. Нажмите кнопку Установить.
  6. Дождитесь перехода приложения в статус Deployed.

Установка с помощью Helm-чартаУстановка с помощью Helm-чарта

  1. Установите менеджер пакетов Helm версии не ниже 3.8.0.

  2. Установите kubectl и настройте его на работу с созданным кластером.

  3. Для установки Helm-чарта с Gateway API выполните команду:

    helm pull oci://cr.yandex/yc-marketplace/yandex-cloud/gateway-api/gateway-api-helm/gateway-api \
      --version v0.6.1 \
      --untar && \
    helm install \
      --namespace <пространство_имен> \
      --create-namespace \
      --set folderId='<идентификатор_каталога>' \
      --set networkId='<идентификатор_облачной_сети>' \
      --set subnet1Id='<идентификатор_подсети_1>' \
      --set subnet2Id='<идентификатор_подсети_2>' \
      --set subnet3Id='<идентификатор_подсети_3>' \
      --set-file saKeySecretKey='<путь_к_файлу_sa-key.json>' \
      gateway-api ./gateway-api/
    

    В команде укажите сеть и ее подсети, в которых нужно располагать балансировщики.

    Если вы укажете в параметре namespace пространство имен по умолчанию, Gateway API может работать некорректно. Рекомендуем указывать значение, отличное от всех существующих пространств имен (например, gateway-api-space).

    Примечание

    Если вы используете версию Helm ниже 3.8.0, добавьте в начало команды строку export HELM_EXPERIMENTAL_OCI=1 && \, чтобы включить поддержку Open Container Initiative (OCI) в клиенте Helm.

Автоматическое обновление приложенияАвтоматическое обновление приложения

Версия приложения Gateway API 0.6.0 содержит обновление версии CRD Gateway API с 0.6.2 до 1.2.1. Если вы обновляете Gateway API с версии 0.5.0 и ниже до версии 0.6.0, то при установке из Helm-чарта будет выполнено автоматическое обновление CRD Gateway API и всех зависимых ресурсов в кластере Managed Service for Kubernetes. Обновление безопасно, то есть ресурсы Application Load Balancer не будут удалены или пересозданы.

Автоматическое обновление с версии 0.5.0 и ниже происходит следующим образом:

  1. Выполняется проверка наличия в кластере пользовательских ресурсов GRPCRoute или ReferenceGrant. Если они обнаружены, то обновление не выполняется во избежание конфликтов, так как в новой версии CRD этих ресурсов несовместимы с прежней версией. Обновление можно выполнить вручную (см. ниже).
  2. Останавливается контроллер Gateway API, количество реплик уменьшается до нуля.
  3. Удаляется CRD ресурсов GRPCRoute и применяются CRD остальных зависимых ресурсов Gateway API новой версии.
  4. Запускается контроллер Gateway API, количество реплик восстанавливается до прежнего.

Чтобы отключить автоматическое обновление CRD, добавьте параметр команды установки Helm-чарта --set crdsAutoUpgrade=false. В этом случае ваши ресурсы будут обновлены, но CRD Gateway API нужно будет обновить вручную. Файл CRD можно взять из папки crds архива Helm-чарта.

Обновление Gateway API вручную
  1. Сделайте резервную копию ресурсов Gateway API.
  2. Остановите контроллер Gateway API.
  3. Удалите все ресурсы GRPCRoute в кластере.
  4. Примените новые версии CRD-ресурсов Gateway API. Файл CRD можно взять из папки crds архива Helm-чарта.
  5. Запустите контроллер Gateway API.
  6. Измените значение версии apiVersion на gateway.networking.k8s.io/v1 в спецификации ваших ресурсов GRPCRoute и примените ее.
  7. Установите новую версию Helm-чарта.

Примеры использованияПримеры использования

  • Настройка Gateway API.

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

  • Описание проекта Gateway API.
  • Описание и конфигурация Gateway API в документации Application Load Balancer.

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

Предыдущая
Обзор
Следующая
Gateway
Проект Яндекса
© 2025 ООО «Яндекс.Облако»