EgressGatewayPolicy

Scope: Cluster
Version: v1alpha1

Интерфейс для настройки политик перенаправления прикладного трафика на определённые egress-шлюзы, описанные через интерфейс EgressGateway.

  • spec
    объект

    Обязательный параметр

    • spec.destinationCIDRs
      массив строк

      Сетевые запросы в сторону данных подсетей будут маршрутизированы через egress-шлюз.

      Доступно только в enterprise edition.

    • spec.egressGatewayName
      строка

      Обязательный параметр

      Имя ресурса EgressGateway, в котором описан egress-шлюз для обработки трафика.

      Доступно только в enterprise edition.

    • spec.excludedCIDRs
      массив строк

      Сетевые диапазоны, которые требуется исключить из диапазонов, описанных в destinationCIDRs. Обратите внимание, что исключать служебные диапазоны кластера (podSubnetCIDR и serviceSubnetCIDR) не требуется.

      Доступно только в enterprise edition.

    • spec.selectors
      массив объектов

      Селекторы прикладных подов. Их трафик будет маршрутизирован через соответствующий egress-шлюз. Для обозначения namespace используйте псевдо-лейбл io.kubernetes.pod.namespace.

      Доступно только в enterprise edition.

      • spec.selectors.podSelector
        объект

        Обязательный параметр

        Настройка фильтра меток (label) по ресурсам.

        Если указаны одновременно matchExpressions и matchLabels, учитываются оба фильтра (операция И).

        Пустое значение labelSelector соответствует всем объектам. Нулевое — никаким.

        Доступно только в enterprise edition.

        • spec.selectors.podSelector.matchExpressions
          массив объектов

          Список фильтров на основе выражений.

          Итоговый результат — результат пересечения множеств, определяемых всеми фильтрами в списке (операция И).

          Фильтр на основе выражения.

          Доступно только в enterprise edition.

          • spec.selectors.podSelector.matchExpressions.key
            строка

            Обязательный параметр

            Имя метки.

            Доступно только в enterprise edition.

          • spec.selectors.podSelector.matchExpressions.operator
            строка

            Обязательный параметр

            Оператор сравнения.

            Доступно только в enterprise edition.

          • spec.selectors.podSelector.matchExpressions.values
            массив строк

            Значение метки.

            Доступно только в enterprise edition.

        • spec.selectors.podSelector.matchLabels
          объект

          Фильтр на основе совпадения/несовпадения меток.

          Доступно только в enterprise edition.

EgressGateway

Scope: Cluster
Version: v1alpha1

Интерфейс для настройки отказоустойчивого egress-шлюза на основе группы узлов.

Настроенные egress-шлюзы можно использовать в политиках исходящего трафика EgressGatewayPolicy.

  • spec
    объект
    • spec.nodeSelector
      объект

      Селектор для группы узлов, которые будут осуществлять передачу сетевых запросов на внешние сервисы. Среди данных узлов будут выявлены пригодные к работе и один из них будет назначен активным. Признаки пригодного узла:

      • Узел в состоянии Ready.
      • Узел не находится в состоянии технического обслуживания (cordon).
      • cilium-agent на узле в состоянии Ready.

      Разные EgressGateway могут использовать для работы общие узлы, при этом активные узлы будут выбираться независимо, тем самым распределяя нагрузку между ними.

      Доступно только в enterprise edition.

    • spec.sourceIP
      объект
      • spec.sourceIP.mode
        строка

        Обязательный параметр

        Метод определения исходящего IP-адреса, который будет назначен на исходящие запросы через данный шлюз.

        Возможны следующие варианты:

        • PrimaryIPFromEgressGatewayNodeInterface — в качестве IP-адреса будет использоваться primary IP-адрес на публичном сетевом интерфейсе узла.

          Особенности:

          • При выходе из строя активного узла и назначении нового, IP-адрес отправителя в сетевых пакетах поменяется.
          • Предварительно необходимо настроить сетевую подсистему на всех egress-узлах:
            • у публичных интерфейсов должно быть одинаковое имя (например, eth1),
            • должны быть настроены все необходимые маршруты для доступа на все внешние публичные сервисы.
        • VirtualIPAddress — явное указание исходящего IP-адреса.

          Особенности:

          • При выходе из строя активного узла, IP-адрес отправителя в сетевых пакетах не поменяется.
          • Предварительно необходимо настроить сетевую подсистему на всех egress-узлах:
            • должны быть настроены все необходимые маршруты для доступа на все внешние публичные сервисы,
            • публичный интерфейс должен быть подготовлен к автоматической настройке виртуального IP в качестве secondary IP-адреса (при назначении egress-узла в качестве активного, адрес не будет отображаться в списке IP на публичном интерфейсе, но при этом, узел будет эмулировать его наличие с помощью ARP-ответов).

        Доступно только в enterprise edition.

        Допустимые значения: VirtualIPAddress, PrimaryIPFromEgressGatewayNodeInterface

      • spec.sourceIP.primaryIPFromEgressGatewayNodeInterface
        объект
        • spec.sourceIP.primaryIPFromEgressGatewayNodeInterface.interfaceName
          строка

          Имя интерфейса на egress-узлах, через который осуществляется доступ к внешним сервисам.

          Доступно только в enterprise edition.

      • spec.sourceIP.virtualIPAddress
        объект
        • spec.sourceIP.virtualIPAddress.ip
          строка

          Виртуальный IP-адрес, который будет назначен на исходящие запросы через egress-шлюз.

          Доступно только в enterprise edition.