В модуле реализовано 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

  • settings
    объект
    • settings.additionalVersions
      массив строк

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

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

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

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

    • settings.alliance
      объект

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

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

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

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

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

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

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

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

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

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

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

          Пример:

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

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

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

          Примеры:

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

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

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

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

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

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

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

          Пример:

          nodeSelector:
            type: ingress
          
        • settings.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
          
        • settings.alliance.ingressGateway.tolerations
          массив объектов

          tolerations для DaemonSet’а ingressgateway.

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

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

          Пример:

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

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

      Пример:

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

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

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

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

      • settings.auth.externalAuthentication
        объект

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

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

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

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

          Пример:

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

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

          Пример:

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

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

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

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

        Пример:

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

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

        Пример:

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

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

      • settings.ca.cert
        строка

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

      • settings.ca.chain
        строка

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

      • settings.ca.key
        строка

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

      • settings.ca.root
        строка

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

    • settings.controlPlane
      объект

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

      • settings.controlPlane.nodeSelector
        объект

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

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

      • settings.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
        
        • settings.controlPlane.replicasManagement.hpa
          объект

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

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

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

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

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

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

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

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

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

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

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

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

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

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

              Тип метрики.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      • settings.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
        
        • settings.controlPlane.resourcesManagement.mode
          строка

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

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

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

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

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

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

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

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

            • settings.controlPlane.resourcesManagement.static.limits.cpu
              строка

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

            • settings.controlPlane.resourcesManagement.static.limits.memory

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

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

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

            • settings.controlPlane.resourcesManagement.static.requests.cpu
              строка

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

              Шаблон: ^[0-9]+m?$

            • settings.controlPlane.resourcesManagement.static.requests.memory

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

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

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

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

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

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

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

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

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

            • settings.controlPlane.resourcesManagement.vpa.cpu.max

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

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

            • settings.controlPlane.resourcesManagement.vpa.cpu.min

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

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

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

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

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

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

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

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

            • settings.controlPlane.resourcesManagement.vpa.memory.max

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

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

            • settings.controlPlane.resourcesManagement.vpa.memory.min

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        Примеры:

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

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

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

      Пример:

      enableHTTP10: true
      
    • settings.federation
      объект

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

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

      • settings.federation.enabled
        булевый

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

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

        Пример:

        enabled: true
        
    • settings.globalVersion
      строка

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

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

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

    • settings.highAvailability
      булевый

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

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

      Пример:

      highAvailability: true
      
    • settings.https
      объект

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

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

      Примеры:

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

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

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

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

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

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

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

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

      • settings.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

    • settings.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])?)*$

    • settings.multicluster
      объект

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

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

      • settings.multicluster.enabled
        булевый

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

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

        Пример:

        enabled: true
        
    • settings.nodeSelector
      объект

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

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

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

    • settings.outboundTrafficPolicyMode
      строка

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

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

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

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

      Пример:

      outboundTrafficPolicyMode: AllowAny
      
    • settings.proxyConfig
      объект

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

      • settings.proxyConfig.holdApplicationUntilProxyStarts
        булевый

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

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

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

        Пример:

        holdApplicationUntilProxyStarts: true
        
      • settings.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
        
    • settings.sidecar
      объект

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

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

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

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

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

        Пример:

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

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

      • settings.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}$

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

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

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

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

        Пример:

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

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

      • settings.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}$

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

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

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

        Пример:

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

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

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

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

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

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

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

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

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

            • settings.sidecar.resourcesManagement.static.limits.cpu
              строка

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

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

              Шаблон: ^[0-9]+m?$

            • settings.sidecar.resourcesManagement.static.limits.memory

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

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

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

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

            • settings.sidecar.resourcesManagement.static.requests.cpu
              строка

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

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

              Шаблон: ^[0-9]+m?$

            • settings.sidecar.resourcesManagement.static.requests.memory

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            Пример:

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

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

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

        Пример:

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

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

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

        Примеры:

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

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

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

          Пример:

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

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

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

          Пример:

          jaegerURLForUsers: https://tracing-service:4443/jaeger
          
      • settings.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 больше не поддерживается.