Перейти к основному содержимому

Envoy Gateway

Envoy Gateway — это решение для управления входящим и исходящим трафиком в Kubernetes, построенное на базе ресурсов Gateway API и прокси-сервера Envoy.

Задачи Envoy Gateway:

  • маршрутизация HTTP-, HTTPS- и TCP-трафика;
  • балансировка нагрузки;
  • терминирование SSL- и TLS-соединений;
  • расширенное управление трафиком — например, поддержка канареечных и blue-green развертываний.

В Managed Kubernetes Envoy Gateway не предустанавливается в кластер, его необходимо установить самостоятельно.

Gateway API

Gateway API — это плагин Kubernetes с набором API-ресурсов для управления сетевым трафиком на уровнях L4 и L7, балансировкой нагрузки, маршрутизацией, политиками безопасности и мультикластерностью.

К ресурсам Gateway API относятся:

  • GatewayClass;
  • Gateway;
  • HTTPRoute;
  • GRPCRoute.

Подробнее о ресурсах Gateway API в подразделе Resource model инструкции Gateway API в документации Kubernetes.

Gateway API — это более современная альтернатива Ingress API. Их основные различия можно посмотреть в подразделе Key Differences Between Ingress API и Gateway API инструкции Migrating from Ingress в документации Gateway API.

Установить Envoy Gateway

  1. Подключитесь к кластеру.

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

  3. Установите Envoy Gateway:

    helm upgrade --install eg --create-namespace oci://docker.io/envoyproxy/gateway-helm --version v1.6.3 -n envoy-gateway-system
  4. Убедитесь, что Envoy Gateway установлен:

    kubectl get pods

    В ответе появится информация об Envoy Gateway:

    NAME                              READY   STATUS    RESTARTS   AGE
    envoy-gateway-8545855df8-vjqtf 1/1 Running 0 35s