Доступно с ограничениями в редакциях: CE, BE, SE, SE+, CSE Lite (1.67)
Доступно без ограничений в редакциях: EE, CSE Pro (1.67)
В модуле реализовано 16 алертов.
Модуль не включен по умолчанию в каком-либо наборе модулей.
Конверсии
Модуль настраивается с помощью ресурса ModuleConfig, схема которого содержит номер версии. При применении в кластере старой версии схемы ModuleConfig выполняются автоматические преобразования. Чтобы обновить версию схемы ModuleConfig вручную, необходимо последовательно для каждой версии выполнить следующие действия :
- Обновление из версии 1 в 2:
Удалите
.settings.auth.password. - Обновление из версии 2 в 3:
- Перенесите
.settings.enableHTTP10в.settings.dataPlane.enableHTTP10. - Перенесите
.settings.proxyConfigв.settings.dataPlane.proxyConfig.
- Перенесите
Настройки
Чтобы настроить модуль, используйте ресурс ModuleConfig с именем istio (подробнее о настройке Deckhouse…).
Пример ресурса ModuleConfig/istio для настройки модуля:
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: istio
spec:
version: 3
enabled: true
settings: # <-- Параметры модуля из раздела "Параметры" ниже.
Параметры
Версия схемы: 3
- объектsettings
- массив строкsettings.additionalVersions
Дополнительные версии control plane Istio, которые будут установлены. Они будут обслуживать namespace’ы, где явно указана версия с помощью лейбла
istio.io/rev=.По умолчанию:
[]- строкаЭлемент массива
Шаблон:
^[0-9]+\.[0-9]+$
- объектsettings.alliance
Доступно в редакциях: EE, CSE Pro (1.67)
Общие настройки для федерации и мультикластера.
- объектsettings.alliance.ingressGateway
Доступно в редакциях: EE, CSE Pro (1.67)
Параметры для ingressgateway.
- массив объектовsettings.alliance.ingressGateway.advertise
Доступно в редакциях: EE, CSE Pro (1.67)
Фактические адреса, которые будут объявлены удаленным кластерам для организации межкластерных запросов приложений. Если не указано, адреса будут выявлены автоматически.
По умолчанию:
[]Пример:
advertise: - address: 172.16.0.5 port: 15443- строкаsettings.alliance.ingressGateway.advertise.address
Обязательный параметр
Шаблон:
^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$Пример:
address: 172.16.0.5 - целочисленныйsettings.alliance.ingressGateway.advertise.port
Обязательный параметр
Допустимые значения:
1024 <= X <= 65535
- строкаsettings.alliance.ingressGateway.inlet
Доступно в редакциях: EE, CSE Pro (1.67)
Способ публикации ingressgateway:
LoadBalancer— рекомендуется в случае, если площадка облачная и поддерживает LB;NodePort— для площадок без LB.
По умолчанию:
LoadBalancerДопустимые значения:
LoadBalancer,NodePortПример:
inlet: LoadBalancer - объектsettings.alliance.ingressGateway.nodePort
Доступно в редакциях: EE, CSE Pro (1.67)
Специальные настройки для ingressgateway с инлетом
NodePort.Примеры:
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
Доступно в редакциях: EE, CSE Pro (1.67)
Селектор для DaemonSet’а ingressgateway.
Структура, аналогичная
spec.nodeSelectorпода Kubernetes.Пример:
nodeSelector: type: ingress - объектsettings.alliance.ingressGateway.serviceAnnotations
Доступно в редакциях: EE, CSE Pro (1.67)
Дополнительные аннотации для сервиса ingressgateway.
Полезно, например, для настройки локального LB в Yandex Cloud (аннотация
yandex.cpi.flant.com/listener-subnet-id).Пример:
serviceAnnotations: yandex.cpi.flant.com/listener-subnet-id: xyz-123 - массив объектовsettings.alliance.ingressGateway.tolerations
Доступно в редакциях: EE, CSE Pro (1.67)
tolerations для DaemonSet’а ingressgateway.
Структура, аналогичная
spec.tolerationsпода Kubernetes.Пример:
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.allowedUserEmails
Массив адресов электронной почты, пользователям которых разрешен доступ к веб-интерфейсу.
Используется, если включен модуль
user-authnили задан параметрexternalAuthentication. - массив строк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
Опциональный селектор для компонента istiod. Структура, аналогичная
spec.nodeSelectorпода Kubernetes.Если значение не указано или указано
false, будет использоваться автоматика. - объектsettings.controlPlane.replicasManagement
Настройки управления репликами и горизонтальным масштабированием istiod.
Примеры:
replicasManagement: mode: StandardreplicasManagement: mode: Static static: replicas: 3replicasManagement: 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.5resourcesManagement: mode: Static static: requests: cpu: 55m memory: 256Mi limits: cpu: '2' memory: 2Gi- строкаsettings.controlPlane.resourcesManagement.mode
Режим управления ресурсами:
По умолчанию:
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.enableHTTP10
Обрабатывать ли HTTP/1.0-запросы в sidecar-контейнерах или отвергать их с кодом ответа
426 Upgrade Required.По умолчанию:
falseПример:
enableHTTP10: true - булевыйsettings.dataPlane.proxyConfig.holdApplicationUntilProxyStarts
Этот параметр заставляет sidecar-injector вставлять sidecar-контейнер на первое место в списке контейнеров пода. Также он добавляет postStart-хук для того, чтобы убедиться, что Envoy инициализировался раньше самого приложения. Это позволит избежать сетевых ошибок при старте пода.
Этот глобальный параметр может быть переопределен на уровне пода аннотацией
proxy.istio.io/config: '{ "holdApplicationUntilProxyStarts": true }'.По умолчанию:
falseПример:
holdApplicationUntilProxyStarts: true - строкаsettings.dataPlane.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.dataPlane.trafficRedirectionSetupMode
Управление режимом перенаправления прикладного трафика для передачи под управление Istio в сетевом пространстве имён пода.
CNIPlugin— в этом режиме настройку осуществляет CNI plugin при создании пода на узле. Этот режим не требует дополнительных прав для пода и является рекомендуемым. Режим имеет ограничения при использовании прикладных init-контейнеров, которые осуществляют сетевое взаимодействие с другими сервисами.InitContainer— классический режим, при котором каждый под автоматически снабжается специальным init-контейнером, который осуществляет настройку сетевого окружения пода. Для того, чтобы осуществить эту настройку, контейнеру выдаются дополнительные права, что может не соответствовать требованиям безопасности в отдельных инсталляциях.
По умолчанию:
InitContainerДопустимые значения:
CNIPlugin,InitContainerПримеры:
trafficRedirectionSetupMode: CNIPlugintrafficRedirectionSetupMode: InitContainer - объектsettings.dataPlane.ztunnel
Настройки для компонента ztunnel.
- объектsettings.dataPlane.ztunnel.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.5resourcesManagement: mode: Static static: requests: cpu: 55m memory: 256Mi limits: cpu: '2' memory: 2Gi- строкаsettings.dataPlane.ztunnel.resourcesManagement.mode
Режим управления ресурсами:
По умолчанию:
VPAДопустимые значения:
VPA,Static - объектsettings.dataPlane.ztunnel.resourcesManagement.static
Настройка управления ресурсами в режиме
Static.- объектsettings.dataPlane.ztunnel.resourcesManagement.static.limits
Настройка ограничений (limits) использования CPU и памяти.
- строкаsettings.dataPlane.ztunnel.resourcesManagement.static.limits.cpu
Настройка ограничений использования CPU (CPU limits).
- settings.dataPlane.ztunnel.resourcesManagement.static.limits.memory
Настройка ограничений использования памяти (memory limits).
- объектsettings.dataPlane.ztunnel.resourcesManagement.static.requests
Настройки запросов ресурсов (requests) подов.
- строкаsettings.dataPlane.ztunnel.resourcesManagement.static.requests.cpu
Настройка запроса CPU (CPU requests).
Шаблон:
^[0-9]+m?$ - settings.dataPlane.ztunnel.resourcesManagement.static.requests.memory
Настройка запроса памяти (memory requests).
- объектsettings.dataPlane.ztunnel.resourcesManagement.vpa
Параметры управления ресурсами в режиме VPA.
- объектsettings.dataPlane.ztunnel.resourcesManagement.vpa.cpu
Настройки VPA при работе с CPU.
- числоsettings.dataPlane.ztunnel.resourcesManagement.vpa.cpu.limitRatio
Коэффициент расчета ограничений использования CPU относительно запросов (limits/requests).
Применяется для расчета начальных ограничений использования CPU для пода (CPU limits).
Если параметр указан, то VPA, при пересчете запросов CPU (CPU requests) будет пересчитывать ограничения использования CPU (CPU limits) сохраняя указанное соотношение ограничений к запросам (limits/requests).
- settings.dataPlane.ztunnel.resourcesManagement.vpa.cpu.max
Максимальное значение, которое может выставить VPA для запроса CPU (CPU requests).
По умолчанию:
2 - settings.dataPlane.ztunnel.resourcesManagement.vpa.cpu.min
Минимальное значение, которое может выставить VPA для запроса CPU (CPU requests).
По умолчанию:
50m
- объектsettings.dataPlane.ztunnel.resourcesManagement.vpa.memory
Настройки VPA при работе с памятью.
- числоsettings.dataPlane.ztunnel.resourcesManagement.vpa.memory.limitRatio
Коэффициент расчета ограничений использования памяти относительно запросов (limits/requests).
Применяется для расчета начальных ограничений использования памяти для пода (memory limits).
Если параметр указан, то VPA, при пересчете запросов памяти (memory requests) будет пересчитывать ограничения использования памяти (memory limits) сохраняя указанное соотношение ограничений к запросам (limits/requests).
- settings.dataPlane.ztunnel.resourcesManagement.vpa.memory.max
Максимальное значение, которое может выставить VPA для запроса к памяти (memory requests).
По умолчанию:
2Gi - settings.dataPlane.ztunnel.resourcesManagement.vpa.memory.min
Минимальное значение, которое может выставить VPA для запроса к памяти (memory requests).
По умолчанию:
256Mi
- строкаsettings.dataPlane.ztunnel.resourcesManagement.vpa.mode
Режим работы VPA.
По умолчанию:
AutoДопустимые значения:
Initial,Auto
- объектsettings.federation
Доступно в редакциях: EE, CSE Pro (1.67)
Параметры федерации с другими кластерами.
- булевыйsettings.federation.enabled
Обозначить данный кластер как участник федерации (см. Включение федерации).
По умолчанию:
falseПример:
enabled: true
- строкаsettings.globalVersion
Явно заданная версия control plane Istio, который обслуживает data plane по умолчанию (namespace с лейблом
istio-injection=enabled, но неistio.io/rev=).По умолчанию:
1.21Шаблон:
^[0-9]+\.[0-9]+$ - булевыйsettings.highAvailability
Ручное управление режимом отказоустойчивости.
По умолчанию режим отказоустойчивости определяется автоматически. Подробнее про режим отказоустойчивости.
Пример:
highAvailability: true - объектsettings.https
Тип сертификата, используемого для публичных веб-интерфейсов модуля.
При использовании этого параметра полностью переопределяются глобальные настройки
global.modules.https.Примеры:
https: mode: CustomCertificate customCertificate: secretName: foobarhttps: 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, используя сертификат из namespaced8-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
Доступно в редакциях: EE, CSE Pro (1.67)
Параметры мультикластерной инсталляции.
- булевый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.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 со сгенерированным паролем.
Посмотреть сгенерированный пароль можно командой:
d8 k -n d8-system exec svc/deckhouse-leader -c deckhouse -- deckhouse-controller module values istio -o json | jq '.istio.internal.auth.password'
Чтобы сгенерировать новый пароль, нужно удалить Secret:
d8 k -n d8-istio delete secret/kiali-basic-auth
Внимание! Параметр
auth.passwordбольше не поддерживается.