Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • AI Studio
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»
Yandex Managed Service for Kubernetes
  • Сопоставление с другими сервисами Yandex Cloud
  • Начало работы
    • Все инструкции
    • Подключение к узлу по SSH
    • Подключение к узлу через OS Login
    • Обновление Kubernetes
    • Настройка автомасштабирования
    • Подключение Terraform-провайдера Kubernetes
      • Основы работы с Cloud Marketplace
      • Установка Crossplane
      • Установка Gatekeeper
      • Установка Gateway API
      • Установка Ingress-контроллера Application Load Balancer
      • Обновление Ingress-контроллера Application Load Balancer
      • Установка Kyverno & Kyverno Policies
      • Установка Metrics Provider
      • Установка NodeLocal DNS
    • Подключение внешних узлов к кластеру
    • Настройка WireGuard-шлюзов для подключения внешних узлов к кластеру
    • Настройка IPSec-шлюзов для подключения внешних узлов к кластеру
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Обучающие курсы

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

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

Установка Gateway API

Статья создана
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.yandexcloud.kz/yc-marketplace/yandex-cloud/gateway-api/gateway-api-helm/gateway-api \
      --version v0.7.2 \
      --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.

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

Предыдущая
Установка Gatekeeper
Следующая
Установка Ingress-контроллера Application Load Balancer
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»