• Русский
  • Селекторы обнаружения в ambient режиме

    В ambient режиме управляющая плоскость включает рабочие нагрузки, как только обнаруживает их и соответствующая метка позволяет перенаправлять трафик через прокси ZTunnel. По умолчанию управляющая плоскость отслеживает рабочие нагрузки во всех пространствах имён кластера, что означает, что каждый прокси получает конфигурацию для каждого пространства имён — даже для рабочих нагрузок, которые не зарегистрированы в mesh.

    В совместно используемых или мультиарендных кластерах ограничение участия в mesh только определёнными пространствами имён помогает снизить нагрузку на конфигурацию и позволяет нескольким сервисным mesh сосуществовать в одном кластере. Для подробностей о селекторах обнаружения смотрите Scoping the Service Mesh with discovery selectors.

    Ограничение области действия Service Mesh с помощью discovery selectors

    Чтобы ограничить область действия service mesh в ambient режиме, настройте параметр discoverySelectors в разделе meshConfig ресурса Istio. Эта конфигурация контролирует, какие пространства имён управляющая плоскость отслеживает на основе селекторов меток.

    Предварительные требования

    • Ресурс управляющей плоскости Istio создан.
    • Ресурс IstioCNI создан.
    • Ресурс ZTunnel создан.

    Процедура

    1. Пометьте пространство имён, содержащее ресурс IstioCNI (например, istio-cni):

      kubectl label namespace istio-cni istio-discovery=enabled
    2. Пометьте пространство имён, содержащее ресурс управляющей плоскости Istio (например, istio-system):

      kubectl label namespace istio-system istio-discovery=enabled
    3. Пометьте пространство имён, содержащее ресурс ZTunnel (например, ztunnel):

      kubectl label namespace ztunnel istio-discovery=enabled
    4. Обновите ресурс управляющей плоскости Istio, добавив раздел discoverySelectors с соответствующей меткой. Создайте YAML-файл с именем istio-discovery-selectors.yaml:

      apiVersion: sailoperator.io/v1
      kind: Istio
      metadata:
        name: default
      spec:
        namespace: istio-system
        profile: ambient
        values:
          pilot:
            trustedZtunnelNamespace: ztunnel
          meshConfig:
            discoverySelectors:
              - matchLabels:
                  istio-discovery: enabled
    5. Примените конфигурацию:

      kubectl apply -f istio-discovery-selectors.yaml