В модуле реализовано 15 алертов.

Модуль не включен по умолчанию в каком-либо наборе модулей.

Как явно включить или отключить модуль…

Чтобы явно включить или выключить модуль istio, установите spec.enabled в true или false в ModuleConfig/istio (создайте, при необходимости), или воспользуйтесь командой deckhouse-controller module в поде d8-system/deckhouse.

Пример включения модуля:

  • с помощью ресурса ModuleConfig:

    apiVersion: deckhouse.io/v1alpha1
    kind: ModuleConfig
    metadata:
      name: istio
    spec:
      enabled: true
    
  • с помощью команды deckhouse-controller (требуется kubectl, настроенный на работу с кластером):

    kubectl -ti -n d8-system exec svc/deckhouse-leader -c deckhouse -- deckhouse-controller module enable istio
    

Пример выключения модуля:

  • с помощью ресурса ModuleConfig:

    apiVersion: deckhouse.io/v1alpha1
    kind: ModuleConfig
    metadata:
      name: istio
    spec:
      enabled: false
    
  • с помощью команды deckhouse-controller (требуется kubectl, настроенный на работу с кластером):

    kubectl -ti -n d8-system exec svc/deckhouse-leader -c deckhouse -- deckhouse-controller module disable istio
    

Чтобы настроить модуль, используйте custom resource ModuleConfig с именем istio (подробнее о настройке Deckhouse…).

Пример ресурса ModuleConfig/istio для настройки модуля:

apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: istio
spec:
  version: 2
  enabled: true
  settings: # <-- Параметры модуля из раздела "Параметры" ниже.

Параметры

Версия схемы: 2

  • additionalVersions
    массив строк

    Дополнительные версии control plane Istio, которые будут установлены. Они будут обслуживать namespace’ы, где явно указана версия с помощью лейбла istio.io/rev=.

    По умолчанию: []

    • Элемент массива
      строка

      Шаблон: ^[0-9]+\.[0-9]+$

  • alliance
    объект

    Общие настройки для федерации и мультикластера.

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

    • alliance.ingressGateway
      объект

      Параметры для ingressgateway.

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

      • alliance.ingressGateway.inlet
        строка

        Способ публикации ingressgateway:

        • LoadBalancer — рекомендуется в случае, если площадка облачная и поддерживает LB;
        • NodePort — для площадок без LB.

        По умолчанию: "LoadBalancer"

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

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

        Пример:

        inlet: LoadBalancer
        
      • alliance.ingressGateway.nodePort
        объект

        Специальные настройки для ingressgateway с инлетом NodePort.

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

        Примеры:

        nodePort: {}
        
        nodePort:
          port: 30001
        
        • alliance.ingressGateway.nodePort.port
          целочисленный

          Статичный порт для сервиса с типом NodePort. Должен быть из диапазона, заданного аргументом kube-apiserver --service-node-port-range (по умолчанию 30000-32767).

          Допустимые значения: 1024 <= X <= 65535

      • alliance.ingressGateway.nodeSelector
        объект

        Селектор для DaemonSet’а ingressgateway.

        Структура, аналогичная spec.nodeSelector пода Kubernetes.

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

        Пример:

        nodeSelector:
          type: ingress
        
      • alliance.ingressGateway.serviceAnnotations
        объект

        Дополнительные аннотации для сервиса ingressgateway.

        Полезно, например, для настройки локального LB в Yandex Cloud (аннотация yandex.cpi.flant.com/listener-subnet-id).

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

        Пример:

        serviceAnnotations:
          yandex.cpi.flant.com/listener-subnet-id: xyz-123
        
      • alliance.ingressGateway.tolerations
        массив объектов

        tolerations для DaemonSet’а ingressgateway.

        Структура, аналогичная spec.tolerations пода Kubernetes.

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

        Пример:

        tolerations:
        - operator: Exists
        
        • alliance.ingressGateway.tolerations.effect
          строка
        • alliance.ingressGateway.tolerations.key
          строка
        • alliance.ingressGateway.tolerations.operator
          строка
        • alliance.ingressGateway.tolerations.tolerationSeconds
          целочисленный
        • alliance.ingressGateway.tolerations.value
          строка
  • auth
    объект

    Опции, связанные с аутентификацией или авторизацией в приложении.

    Пример:

    auth:
      externalAuthentication:
        authURL: https://dex.d8.svc.cluster.local/dex/auth
        authSignInURL: https://example.com/dex/sign_in
      allowedUserGroups:
      - admins
    
    • auth.allowedUserGroups
      массив строк

      Массив групп, пользователям которых позволен доступ в публичные веб-интерфейсы модуля.

      Используется, если включен модуль user-authn или параметр externalAuthentication.

      Внимание! При использовании совместно с модулем user-authn необходимо также добавить разрешенные группы в соответствующее поле в настройках DexProvider.

    • auth.externalAuthentication
      объект

      Параметры для подключения внешней аутентификации (используется механизм NGINX Ingress external-auth, работающий на основе модуля Nginx auth_request.

      Внешняя аутентификация включается автоматически, если включен модуль user-authn.

      • auth.externalAuthentication.authSignInURL
        строка

        URL, куда будет перенаправлен пользователь для прохождения аутентификации (если сервис аутентификации вернул код ответа HTTP, отличный от 200).

        Пример:

        authSignInURL: https://example.com/dex/sign_in
        
      • auth.externalAuthentication.authURL
        строка

        URL сервиса аутентификации. Если пользователь прошел аутентификацию, сервис должен возвращать код ответа HTTP 200.

        Пример:

        authURL: https://example.com/dex/auth
        
    • auth.satisfyAny
      булевый

      Разрешает пройти только одну из аутентификаций.

      В комбинации с опцией whitelistSourceRanges позволяет считать авторизованными всех пользователей из указанных сетей без ввода логина и пароля.

      По умолчанию: false

      Пример:

      satisfyAny: true
      
    • auth.whitelistSourceRanges
      массив строк

      Массив адресов в формате CIDR, которым разрешено проходить авторизацию в публичные веб-интерфейсы модуля.

      Пример:

      whitelistSourceRanges:
      - 1.1.1.1/32
      
  • ca
    объект

    Явно заданный корневой сертификат, который будет использован для подписывания индивидуальных сертификатов сервисов в случае включения MTLS.

    • ca.cert
      строка

      Корневой или промежуточный сертификат в формате PEM.

    • ca.chain
      строка

      Цепочка сертификатов в формате PEM на случай, если cert — промежуточный сертификат.

    • ca.key
      строка

      Ключ корневого сертификата в формате PEM.

    • ca.root
      строка

      Корневой сертификат в формате PEM на случай, если cert — промежуточный сертификат.

  • controlPlane
    объект

    Настройки для компонента istiod.

    • controlPlane.nodeSelector
      объект

      Опциональный селектор для компонентa istiod. Структура, аналогичная spec.nodeSelector пода Kubernetes.

      Если ничего не указано или указано false, будет использоваться автоматика.

    • controlPlane.replicasManagement
      объект

      Настройки управления репликами и горизонтальным масштабированием istiod.

      Примеры:

      replicasManagement:
        mode: Standard
      
      replicasManagement:
        mode: Static
        static:
          replicas: 3
      
      replicasManagement:
        mode: HPA
        hpa:
          minReplicas: 2
          maxReplicas: 5
          metrics:
          - type: CPU
            targetAverageUtilization: 80
      
      • controlPlane.replicasManagement.hpa
        объект

        Параметры управления репликами и масштабированием в режиме HPA.

        • controlPlane.replicasManagement.hpa.maxReplicas
          число

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

          Максимальное количество реплик, которое может быть установлено HPA. Не может быть меньше minReplicas.

          Допустимые значения: 1 <= X

        • controlPlane.replicasManagement.hpa.metrics
          массив объектов

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

          HPA будет основываться на этих метриках при принятии решения об увеличении или уменьшении количества реплик.

          • controlPlane.replicasManagement.hpa.metrics.targetAverageUtilization
            число

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

            Целевое значение средней загрузки CPU во всех репликах. Задается в процентах от Requests CPU.

            Допустимые значения: 1 <= X <= 100

          • controlPlane.replicasManagement.hpa.metrics.type
            строка

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

            Тип метрики.

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

        • controlPlane.replicasManagement.hpa.minReplicas
          число

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

          Минимальное количество реплик, которое может быть установлено HPA.

          Допустимые значения: 1 <= X

      • controlPlane.replicasManagement.mode
        строка

        Режим работы с репликами:

        • Standard — режим управления репликами и масштабированием в соответствии с глобальным режимом отказоустойчивости (параметр highAvailability);
        • Static — режим, где количество реплик указывается явно (параметр static.replicas);
        • HPA — режим, где количество реплик рассчитывается автоматически с помощью HPA на основе загрузки CPU. Настраивается в секции параметров hpa.

        По умолчанию: "Standard"

        Допустимые значения: Standard, Static, HPA

      • controlPlane.replicasManagement.static
        объект

        Параметры управления репликами и масштабированием в режиме Static.

        • controlPlane.replicasManagement.static.replicas
          число

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

          Желаемое количество реплик.

          Допустимые значения: 1 <= X

    • controlPlane.resourcesManagement
      объект

      Настройки запросов (requests) и ограничений (limits) использования CPU и памяти подами istiod.

      Примеры:

      resourcesManagement:
        mode: VPA
        vpa:
          mode: Auto
          cpu:
            min: 50m
            max: 2
            limitRatio: 1.5
          memory:
            min: 256Mi
            max: 2Gi
            limitRatio: 1.5
      
      resourcesManagement:
        mode: Static
        static:
          requests:
            cpu: 55m
            memory: 256Mi
          limits:
            cpu: '2'
            memory: 2Gi
      
      • controlPlane.resourcesManagement.mode
        строка

        Режим управления ресурсами:

        • Static — с помощью прямого указания запросов/ограничений (requests/limits). Настраивается в секции параметров static;
        • VPA — с помощью VPA. Настраивается в секции параметров vpa.

        По умолчанию: "VPA"

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

      • controlPlane.resourcesManagement.static
        объект

        Настройка управления ресурсами в режиме Static.

        • controlPlane.resourcesManagement.static.limits
          объект

          Настройка ограничений (limits) использования CPU и памяти.

          • controlPlane.resourcesManagement.static.limits.cpu

            Настройка ограничений использования CPU (CPU limits).

          • controlPlane.resourcesManagement.static.limits.memory

            Настройка ограничений использования памяти (memory limits).

        • controlPlane.resourcesManagement.static.requests
          объект

          Настройки запросов ресурсов (requests) подов.

          • controlPlane.resourcesManagement.static.requests.cpu

            Настройка запроса CPU (CPU requests).

          • controlPlane.resourcesManagement.static.requests.memory

            Настройка запроса памяти (memory requests).

      • controlPlane.resourcesManagement.vpa
        объект

        Параметры управления ресурсами в режиме VPA.

        • controlPlane.resourcesManagement.vpa.cpu
          объект

          Настройки VPA при работе с CPU.

          • controlPlane.resourcesManagement.vpa.cpu.limitRatio
            число

            Коэффициент расчета ограничений использования CPU относительно запросов (limits/requests).

            Применяется для расчета начальных ограничений использования CPU для пода (CPU limits).

            Если параметр указан, то VPA, при пересчете запросов CPU (CPU requests) будет пересчитывать ограничения использования CPU (CPU limits) сохраняя указанное соотношение ограничений к запросам (limits/requests).

          • controlPlane.resourcesManagement.vpa.cpu.max

            Максимальное значение, которое может выставить VPA для запроса CPU (CPU requests).

            По умолчанию: 2

          • controlPlane.resourcesManagement.vpa.cpu.min

            Минимальное значение, которое может выставить VPA для запроса CPU (CPU requests).

            По умолчанию: 50m

        • controlPlane.resourcesManagement.vpa.memory
          объект

          Настройки VPA при работе с памятью.

          • controlPlane.resourcesManagement.vpa.memory.limitRatio
            число

            Коэффициент расчета ограничений использования памяти относительно запросов (limits/requests).

            Применяется для расчета начальных ограничений использования памяти для пода (memory limits).

            Если параметр указан, то VPA, при пересчете запросов памяти (memory requests) будет пересчитывать ограничения использования памяти (memory limits) сохраняя указанное соотношение ограничений к запросам (limits/requests).

          • controlPlane.resourcesManagement.vpa.memory.max

            Максимальное значение, которое может выставить VPA для запроса к памяти (memory requests).

            По умолчанию: 2Gi

          • controlPlane.resourcesManagement.vpa.memory.min

            Минимальное значение, которое может выставить VPA для запроса к памяти (memory requests).

            По умолчанию: 256Mi

        • controlPlane.resourcesManagement.vpa.mode
          строка

          Режим работы VPA.

          По умолчанию: "Auto"

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

    • controlPlane.tolerations
      массив объектов

      Опциональные tolerations для компонента istiod.

      Структура, аналогичная spec.tolerations пода Kubernetes.

      Если ничего не указано или указано false, будет использоваться автоматика.

      • controlPlane.tolerations.effect
        строка
      • controlPlane.tolerations.key
        строка
      • controlPlane.tolerations.operator
        строка
      • controlPlane.tolerations.tolerationSeconds
        целочисленный
      • controlPlane.tolerations.value
        строка
  • dataPlane
    объект
    • dataPlane.trafficRedirectionSetupMode
      строка

      Управление режимом перенаправления прикладного трафика для передачи под управление Istio в сетевом неймспейсе пода.

      • CNIPlugin — в этом режиме настройку осуществляет CNI plugin при создании пода на узле. Этот режим не требует дополнительных прав для пода и является рекомендуемым. Режим имеет ограничения при использовании прикладных init-контейнеров, которые осуществляют сетевое взаимодействие с другими сервисами.
      • InitContainer — классический режим, при котором каждый под автоматически снабжается специальным init-контейнером, который осуществляет настройку сетевого окружения пода. Для того, чтобы осуществить эту настройку, контейнеру выдаются дополнительные права, что может не соответствовать требованиям безопасности в отдельных инсталляциях.

      По умолчанию: "InitContainer"

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

      Примеры:

      trafficRedirectionSetupMode: CNIPlugin
      
      trafficRedirectionSetupMode: InitContainer
      
  • enableHTTP10
    булевый

    Обрабатывать ли HTTP/1.0-запросы в sidecar-контейнерах или отвергать их с кодом ответа 426 Upgrade Required.

    По умолчанию: false

    Пример:

    enableHTTP10: true
    
  • federation
    объект

    Параметры федерации с другими кластерами.

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

    • federation.enabled
      булевый

      Обозначить данный кластер как участник федерации (см. Включение федерации).

      По умолчанию: false

      Пример:

      enabled: true
      
  • globalVersion
    строка

    Явно заданная версия control plane Istio, который обслуживает data plane по умолчанию (namespace с лейблом istio-injection=enabled, но не istio.io/rev=).

    По умолчанию: "1.19"

    Шаблон: ^[0-9]+\.[0-9]+$

  • highAvailability
    булевый

    Ручное управление режимом отказоустойчивости.

    По умолчанию режим отказоустойчивости определяется автоматически. Подробнее про режим отказоустойчивости.

    Пример:

    highAvailability: true
    
  • https
    объект

    Тип сертификата, используемого для публичных веб-интерфейсов модуля.

    При использовании этого параметра полностью переопределяются глобальные настройки global.modules.https.

    Примеры:

    https:
      mode: CustomCertificate
      customCertificate:
        secretName: foobar
    
    https:
      mode: CertManager
      certManager:
        clusterIssuerName: letsencrypt
    
    • https.certManager
      объект
      • https.certManager.clusterIssuerName
        строка

        ClusterIssuer, используемый для Kiali/metadata-exporter (including SPIFFE endpoint)/api-proxy.

        Доступны letsencrypt, letsencrypt-staging, selfsigned, но вы можете определить свои.

        По умолчанию: "letsencrypt"

    • https.customCertificate
      объект
      • https.customCertificate.secretName
        строка

        Имя Secret’а в namespace d8-system, который будет использоваться для Kiali/metadata-exporter (including SPIFFE endpoint)/api-proxy.

        Secret должен быть в формате kubernetes.io/tls.

        По умолчанию: "false"

    • https.mode
      строка

      Режим работы HTTPS:

      • CertManager — Kiali/metadata-exporter (including SPIFFE endpoint)/api-proxy будут работать по HTTPS и заказывать сертификат с помощью ClusterIssuer заданном в параметре certManager.clusterIssuerName.
      • CustomCertificate — Kiali/metadata-exporter (including SPIFFE endpoint)/api-proxy будут работать по HTTPS, используя сертификат из namespace d8-system.
      • OnlyInURI — Kiali/metadata-exporter (including SPIFFE endpoint)/api-proxy будут работать по HTTP (подразумевая, что перед ними стоит внешний балансировщик, который терминирует HTTPS) и все ссылки в user-authn будут генерироваться с HTTPS-схемой. Балансировщик должен обеспечивать перенаправление с HTTP на HTTPS.

      Важно! В отличие от остальных модулей, istio не поддерживает работу без использования HTTPS (mode: Disabled).

      По умолчанию: "CertManager"

      Допустимые значения: CertManager, CustomCertificate, OnlyInURI

  • ingressClass
    строка

    Класс Ingress-контроллера, который используется для Kiali, metadata-exporter и api-proxy.

    Опциональный параметр, по умолчанию используется глобальное значение modules.ingressClass.

    Шаблон: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$

  • multicluster
    объект

    Параметры мультикластерной инсталляции.

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

    • multicluster.enabled
      булевый

      Обозначить данный кластер как участник мультикластера (см. Включение мультикластера).

      По умолчанию: false

      Пример:

      enabled: true
      
  • nodeSelector
    объект

    Опциональный селектор для компонентов istio-operator, metadata-exporter и Kiali.

    Структура, аналогичная spec.nodeSelector пода Kubernetes.

    Если ничего не указано или указано false, будет использоваться автоматика.

  • outboundTrafficPolicyMode
    строка

    Как поступать с запросами в сторону внешних, то есть не учтенных в mesh’е сервисов:

    • AllowAny — пропускать;
    • RegistryOnly — запрещать. В данном случае для работы с внешними сервисами потребуется регистрировать их с помощью ресурса ServiceEntry или организовывать egressgateway.

    По умолчанию: "AllowAny"

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

    Пример:

    outboundTrafficPolicyMode: AllowAny
    
  • proxyConfig
    объект

    Централизованная настройка ProxyConfig.

    • proxyConfig.holdApplicationUntilProxyStarts
      булевый

      Этот параметр заставляет sidecar-injector вставлять sidecar-контейнер на первое место в списке контейнеров пода. Также он добавляет postStart-хук для того, чтобы убедиться, что Envoy инициализировался раньше самого приложения. Это позволит избежать сетевых ошибок при старте пода.

      Этот глобальный параметр может быть переопределен на уровне пода аннотацией proxy.istio.io/config: '{ "holdApplicationUntilProxyStarts": true }'.

      По умолчанию: false

      Пример:

      holdApplicationUntilProxyStarts: true
      
    • proxyConfig.idleTimeout
      строка

      Тайм-аут для соединений без прикладной активности, которые установлены между istio-сайдкаром клиента и сервисом. По истечении тайм-аута, соединение между сайдкаром и сервисом закрывается, но между приложением и сайдкаром — не закрывается. Если установить значение 0s, то тайм-аут будет отключен. Этот глобальный параметр может быть переопределен на уровне пода аннотацией:

          proxy.istio.io/config: |-
            proxyMetadata:
              ISTIO_META_IDLE_TIMEOUT: "12h"
      

      Внимание! Отключение этого таймаута (значение 0s) с большой вероятностью может привести к утечке соединений из-за потери пакетов TCP FIN и т.п. Внимание! После изменения настройки необходим рестарт клиентских подов.

      По умолчанию: "1h"

      Шаблон: ^[0-9]+(s|m|h)$

      Пример:

      idleTimeout: 24h
      
  • sidecar
    объект

    Настройки для перехвата сетевого трафика в istio-sidecar.

    • sidecar.excludeInboundPorts
      массив строк

      Диапазоны входящих портов, чей трафик гарантированно не заворачивается через Istio.

      Можно переопределить этот параметр для отдельного пода с помощью аннотации traffic.sidecar.istio.io/excludeInboundPorts.

      По умолчанию: []

      Пример:

      excludeInboundPorts:
      - '8080'
      - '8443'
      
      • Элемент массива
        строка

        Шаблон: ^[0-9]{1,5}$

    • sidecar.excludeOutboundIPRanges
      массив строк

      Трафик в сторону этих диапазонов IP гарантированно не заворачивается через Istio.

      Можно переопределить этот параметр для отдельного пода с помощью аннотации traffic.sidecar.istio.io/excludeOutboundIPRanges.

      По умолчанию: []

      Пример:

      excludeOutboundIPRanges:
      - 10.1.1.0/24
      
      • Элемент массива
        строка

        Шаблон: ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/[0-9]{1,2}$

    • sidecar.excludeOutboundPorts
      массив строк

      Диапазоны исходящих портов, чей трафик гарантированно не заворачивается через Istio.

      Можно переопределить этот параметр для отдельного пода с помощью аннотации traffic.sidecar.istio.io/excludeOutboundPorts.

      По умолчанию: []

      Пример:

      excludeOutboundPorts:
      - '8080'
      - '8443'
      
      • Элемент массива
        строка

        Шаблон: ^[0-9]{1,5}$

    • sidecar.includeOutboundIPRanges
      массив строк

      Трафик в сторону этих диапазонов IP безоговорочно заворачивается через Istio.

      Можно переопределить этот параметр для отдельного пода с помощью аннотации traffic.sidecar.istio.io/includeOutboundIPRanges.

      По умолчанию: ["0.0.0.0/0"]

      Пример:

      includeOutboundIPRanges:
      - 10.1.1.0/24
      
      • Элемент массива
        строка

        Шаблон: ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/[0-9]{1,2}$

    • sidecar.resourcesManagement
      объект

      Управляет ресурсами sidecar-контейнера Istio.

      Внимание! Настройка применяется только для новых подов с istio-proxy.

      Пример:

      resourcesManagement:
        static:
          requests:
            cpu: 100m
            memory: 128Mi
          limits:
            cpu: 2000m
            memory: 1Gi
      
      • sidecar.resourcesManagement.mode
        строка

        Режим управления ресурсами:

        • Static — с помощью прямого указания запросов/ограничений (requests/limits). Настраивается в секции параметров static;

        По умолчанию: "Static"

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

      • sidecar.resourcesManagement.static
        объект

        Настройка управления ресурсами в режиме Static.

        • sidecar.resourcesManagement.static.limits
          объект

          Настройка ограничений (limits) использования CPU и памяти.

          • sidecar.resourcesManagement.static.limits.cpu

            Настройка ограничений использования CPU (CPU limits).

            По умолчанию: 2000m

          • sidecar.resourcesManagement.static.limits.memory

            Настройка ограничений использования памяти (memory limits).

            По умолчанию: 1Gi

        • sidecar.resourcesManagement.static.requests
          объект

          Настройки запросов ресурсов (requests) подов.

          • sidecar.resourcesManagement.static.requests.cpu

            Настройка запроса CPU (CPU requests).

            По умолчанию: 100m

          • sidecar.resourcesManagement.static.requests.memory

            Настройка запроса памяти (memory requests).

            По умолчанию: 128Mi

  • tolerations
    массив объектов

    Опциональные tolerations для компонентов istio-operator, metadata-exporter и Kiali.

    Структура, аналогичная spec.tolerations пода Kubernetes.

    Если ничего не указано или указано false, будет использоваться автоматика.

    • tolerations.effect
      строка
    • tolerations.key
      строка
    • tolerations.operator
      строка
    • tolerations.tolerationSeconds
      целочисленный
    • tolerations.value
      строка
  • tracing
    объект

    Параметры трассировки.

    • tracing.collector
      объект

      Параметры отправки трейсов в коллектор.

      • tracing.collector.zipkin
        объект

        Параметры протокола zipkin, который использует Istio для отправки трейсов.

        Jaeger поддерживает этот протокол.

        • tracing.collector.zipkin.address
          строка

          Сетевой адрес в формате <IP of FQDN>:<port>, по которому доступен zipkin-коллектор.

          Шаблон: [0-9a-zA-Z\.-]+

          Пример:

          address: zipkin.myjaeger.svc:9411
          
    • tracing.enabled
      булевый

      Включить отправку трейсов в коллектор и интегрировать их отображение в Kiali.

      По умолчанию: false

      Пример:

      enabled: true
      
    • tracing.kiali
      объект

      Настройки отображения span’ов в Kiali.

      Если настройки не предоставлены, Kiali не будет отображать трассировку.

      Примеры:

      kiali: {}
      
      kiali:
        jaegerURLForUsers: https://tracing-service:4443/jaeger
        jaegerGRPCEndpoint: http://tracing.myjaeger.svc:16685/
      
      • tracing.kiali.jaegerGRPCEndpoint
        строка

        Адрес GRPC-интерфейса Jaeger’а в формате <proto>://<fqdn>[:port]/, доступный сервису Kiali изнутри кластера для служебных запросов.

        Если не указать, то Kiali не будет интерпретировать трейсы самостоятельно и ограничится генерацией ссылок на jaegerURLForUsers.

        Пример:

        jaegerGRPCEndpoint: http://tracing.myjaeger.svc:16685/
        
      • tracing.kiali.jaegerURLForUsers
        строка

        Адрес UI Jaeger, доступный пользователю в формате <proto>://<fqdn>[:port]/<base path>.

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

        Пример:

        jaegerURLForUsers: https://tracing-service:4443/jaeger
        
    • tracing.sampling
      число

      Параметр sampling используется для определения процента запросов, которые передаются в систему трассировки.

      Этот параметр должен быть настроен в зависимости от трафика в сети и количества данных трассировки, которые необходимо собрать.

      Параметр можно переопределить для каждого пода индивидуально с помощью следующей аннотации:

      proxy.istio.io/config: |
        tracing:
          sampling: 100.0
      

      По умолчанию: 1.0

      Допустимые значения: 0.01 <= X <= 100.0

      Пример:

      sampling: 50.05
      

Аутентификация

По умолчанию используется модуль user-authn. Также можно настроить аутентификацию через externalAuthentication (см. ниже). Если эти варианты отключены, модуль включит basic auth со сгенерированным паролем.

Посмотреть сгенерированный пароль можно командой:

kubectl -n d8-system exec svc/deckhouse-leader -c deckhouse -- deckhouse-controller module values istio -o json | jq '.istio.internal.auth.password'

Чтобы сгенерировать новый пароль, нужно удалить Secret:

kubectl -n d8-istio delete secret/kiali-basic-auth

Внимание! Параметр auth.password больше не поддерживается.