• Русский
  • Управление конфигурацией Sidecar

    Содержание

    Введение

    Конфигурация Sidecar обеспечивает точный контроль над поведением прокси Envoy в сервисных сетях Istio. Эта функциональность:

    • Определяет область применения политики трафика
    • Оптимизирует использование ресурсов прокси
    • Реализует контроль доступа на уровне namespace
    • Поддерживает иерархические стратегии конфигурации

    Основная ценность: балансировка производительности и безопасности сервисной сети через детальное управление трафиком

    Особенности

    • Конфигурация по умолчанию для всего кластера
    • Пользовательские правила для конкретных namespace
    • Поддержка шаблонов с подстановочными знаками
    • Механизм приоритетного переопределения

    Преимущества

    Оптимизация производительности: снижение нагрузки на обработку прокси
    Контроль безопасности: ограничение области видимости сервисов
    Гибкость: множественные шаблоны сопоставления namespace
    Совместимость: полная поддержка API Istio

    Управление конфигурацией по умолчанию

    Параметры конфигурации

    ПараметрФорматПример
    Egress Hostsnamespace/dnsNameistio-system/*

    Процесс обновления

    1. Перейдите: Service Mesh > Meshes
    2. Выберите целевую mesh > вкладка Sidecar Config
    3. Найдите кластер > нажмите иконку редактирования
    4. Настройте egress hosts:
      • Выберите namespace из выпадающего списка
      • Выберите шаблон:
        • */* — для всего кластера
        • ./* — для текущего namespace
        • Пользовательский namespace
    5. Нажмите Confirm

    Ограничения:

    • Должна находиться в namespace istio-system
    • Влияет на все namespace без пользовательской конфигурации

    Настройка пользовательской конфигурации

    Шаблон конфигурации

    apiVersion: networking.istio.io/v1beta1
    kind: Sidecar
    metadata:
      name: ns-custom
      namespace: target-ns
    spec:
      egress:
      - hosts:
        - "dev/*"
        - "prod/db-service"

    Шаги реализации

    1. Откройте страницу с деталями mesh
    2. Перейдите на вкладку Sidecar Config
    3. Нажмите Create Sidecar Configuration
    4. Выберите целевой namespace
    5. Настройте шаблоны egress hosts:
      • Используйте подстановочный знак * для широкого сопоставления
      • . обозначает текущий namespace
    6. Проверьте приоритет переопределения

    Примеры конфигураций

    Пример 1: Изоляция namespace

    apiVersion: networking.istio.io/v1beta1
    kind: Sidecar
    metadata:
      name: ns-prod
      namespace: prod
    spec:
      egress:
      - hosts:
        - "prod/*"  # Текущий namespace
        - "monitoring/*"  # Конкретный namespace

    Пример 2: Полный доступ к кластеру

    apiVersion: networking.istio.io/v1beta1
    kind: Sidecar
    metadata:
      name: default
      namespace: istio-system
    spec:
      egress:
      - hosts:
        - "*/*"  # Все namespace

    Спецификация параметров

    ПараметрОбязательныйТипОписание
    namespaceДаStringДолжен быть istio-system для конфигурации по умолчанию
    egressДаArrayМассив шаблонов hosts
    hostsДаArrayФормат namespace/dnsName с поддержкой подстановок

    Операционные ограничения

    1. Привязка к namespace:

      • Пользовательские конфигурации влияют только на указанный namespace
      • Конфигурация по умолчанию требует namespace istio-system
    2. Правила шаблонов:

      • Подстановочный знак (*) разрешён только в самом левом компоненте DNS
      • Пример: prod/*.svc.cluster.local соответствует сервисам prod
    3. Задержка обновления:

      • Изменения конфигурации вступают в силу в течение 60 секунд
      • Требуется control plane Istio версии 1.9 и выше