Deckhouse Platform устанавливает CRD, но не удаляет их при отключении модуля. Если вам больше не нужны созданные CRD, удалите их.
Стадия жизненного цикла модуля: General Availability
У модуля есть требования для установки
IngressIstioController
Scope: Cluster
Version: v1alpha1
- объектspec
Обязательный параметр
- объектspec.hostPort
Секция настроек для инлета
HostPort.- целочисленныйspec.hostPort.httpPort
Порт для небезопасного подключения по HTTP.
Если параметр не указан, возможность подключения по HTTP отсутствует.
Обязательный параметр, если не указан
httpsPort.Пример:
httpPort: 80 - целочисленныйspec.hostPort.httpsPort
Порт для безопасного подключения по HTTPS.
Если параметр не указан, возможность подключения по HTTPS отсутствует.
Обязательный параметр, если не указан
httpPort.Пример:
httpsPort: 443
- строкаspec.ingressGatewayClass
Обязательный параметр
Имя Ingress-gateway класса для обслуживания Istio ingressgateway controller.
Значение данного параметра используется в качестве селектора лейблов ресурса Gateway.
Пример лейбла ресурса Gateway:
istio.deckhouse.io/ingress-gateway-class: <ingressGatewayClass value>Неизменяемый в течение жизни ресурса параметр.
Шаблон:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?$Максимальная длина:
63Пример:
ingressGatewayClass: istio - строкаspec.inlet
Обязательный параметр
Способ поступления трафика из внешнего мира:
LoadBalancer— устанавливается Ingress-контроллер и заказывается Service с типомLoadBalancer;NodePort— устанавливается Ingress-контроллер, который доступен на портах узлов черезNodePort;HostPort— устанавливается Ingress-контроллер, который доступен на портах узлов черезHostPort.
Внимание. На одном хосте может быть только один контроллер с данным типом инлета.
Допустимые значения:
LoadBalancer,HostPort,NodePort - объектspec.loadBalancer
Необязательный параметр.
Секция настроек для инлета
LoadBalancer.- объектspec.loadBalancer.annotations
Аннотации, которые будут проставлены сервису для гибкой настройки балансировщика.
- строкаspec.loadBalancer.loadBalancerClass
Класс балансировщика входящих сетевых запросов (передаётся в параметре
spec.loadBalancerClassзаказанного сервиса с типомLoadBalancer).
- объектspec.networkTopology
Настройки определения исходных атрибутов клиента (например, IP-адреса источника), когда шлюз развёрнут за другими прокси или балансировщиками нагрузки.
Подробнее — в документации Istio о топологии сети шлюза.
- целочисленныйspec.networkTopology.numTrustedProxies
Количество доверенных прокси, развёрнутых перед прокси Istio gateway.
Используется для корректного извлечения адреса клиента из заголовка
X-Forwarded-Forи заполнения заголовкаX-Envoy-External-Address, который используется вышестоящими сервисами.Например, если перед шлюзом находятся облачный балансировщик и обратный прокси, укажите
2.Может использоваться вместе с
proxyProtocol. Если настроены оба параметра и входящий запрос содержит заголовокX-Forwarded-For, Istio использует доверенную цепочкуX-Forwarded-Forвместо атрибутов PROXY-протокола.Допустимые значения:
0 <= XПример:
numTrustedProxies: 2 - булевыйspec.networkTopology.proxyProtocol
Включает поддержку PROXY-протокола на шлюзе для входящих TCP-соединений, чтобы сохранить атрибуты клиента (например, IP-адрес источника), передаваемые вышестоящим L4/TCP-балансировщиком.
Может использоваться вместе с
numTrustedProxies. Если настроены оба параметра и входящий запрос содержит заголовокX-Forwarded-For, Istio использует доверенную цепочкуX-Forwarded-Forвместо атрибутов PROXY-протокола.Пример:
proxyProtocol: true
- объектspec.nodePort
Секция настроек для инлета
NodePort.- целочисленныйspec.nodePort.httpPort
Порт для небезопасного подключения по HTTP.
Если параметр не указан, возможность подключения по HTTP отсутствует.
Обязательный параметр, если не указан
httpsPort.Пример:
httpPort: 30080 - целочисленныйspec.nodePort.httpsPort
Порт для безопасного подключения по HTTPS.
Если параметр не указан, возможность подключения по HTTPS отсутствует.
Обязательный параметр, если не указан
httpPort.Пример:
httpsPort: 30443
- объектspec.nodeSelector
Как в
spec.nodeSelectorу подов.Если значение не указано или указано
false, будет использоваться автоматика.Формат: стандартный список
nodeSelector. Поды инстанса унаследуют это поле как есть. - объектspec.resourcesRequests
Настройки запросов (requests) CPU и памяти подами ingress gateway.
Если параметр не указан, используются встроенные настройки режима VPA. В режиме
Staticзапросы задаются непосредственно в секцииstatic. В режимеVPAVPA изменяет запросы в заданных минимальных и максимальных пределах.- строкаspec.resourcesRequests.mode
Обязательный параметр
Режим управления ресурсами:
Static— позволяет задать запросы непосредственно в секцииstatic;VPA— использует VPA. Настроить этот режим можно в секцииvpa.
По умолчанию:
VPAДопустимые значения:
VPA,Static - объектspec.resourcesRequests.static
Настройка управления ресурсами в режиме
Static.- строкаspec.resourcesRequests.static.cpu
Настройка запроса CPU (CPU requests).
По умолчанию:
100m - строкаspec.resourcesRequests.static.memory
Настройка запроса памяти (memory requests).
По умолчанию:
128Mi
- объектspec.resourcesRequests.vpa
Параметры управления ресурсами в режиме VPA.
- объектspec.resourcesRequests.vpa.cpu
Настройки VPA при работе с CPU.
- строкаspec.resourcesRequests.vpa.cpu.max
Максимальное значение, которое может выставить VPA для запроса CPU (CPU requests).
По умолчанию:
1000m - строкаspec.resourcesRequests.vpa.cpu.min
Минимальное значение, которое может выставить VPA для запроса CPU (CPU requests).
По умолчанию:
100m
- объектspec.resourcesRequests.vpa.memory
Настройки VPA при работе с памятью.
- строкаspec.resourcesRequests.vpa.memory.max
Максимальное значение, которое может выставить VPA для запроса памяти (memory requests).
По умолчанию:
2000Mi - строкаspec.resourcesRequests.vpa.memory.min
Минимальное значение, которое может выставить VPA для запроса памяти (memory requests).
По умолчанию:
128Mi
- строкаspec.resourcesRequests.vpa.mode
Режим работы VPA.
-
Initial— VPA устанавливает начальные значения requests при создании пода. В дальнейшем значения ресурсов не изменяются автоматически. -
InPlaceOrRecreate— VPA пытается изменить ресурсы пода «на месте» (in-place), если это поддерживается кластером. Если in-place обновление невозможно, под будет пересоздан. -
Auto— VPA автоматически пересоздаёт поды для применения новых значений ресурсов. Начиная с версии Deckhouse 1.75 данный режим считается устаревшим. Рекомендуется использоватьInPlaceOrRecreate.
По умолчанию:
InitialДопустимые значения:
Initial,InPlaceOrRecreate,Auto -
- массив объектовspec.tolerations
Как в
spec.tolerationsу подов.Если значение не указано или указано
false, будет использоваться автоматика.Формат: стандартный список toleration. Поды инстанса унаследуют это поле как есть.
- строкаspec.tolerations.effect
Допустимые значения:
NoSchedule,PreferNoSchedule,NoExecute - строкаspec.tolerations.key
- строкаspec.tolerations.operator
По умолчанию:
EqualДопустимые значения:
Exists,Equal - целочисленныйspec.tolerations.tolerationSeconds
- строкаspec.tolerations.value
IstioFederation
Scope: Cluster
Version: v1alpha1
Ресурс для настройки удалённого кластера как доверенного.
- объектspec
Обязательный параметр
Доступно в редакциях: Ultimate/EE, Certified Pro/CSE Pro (1.73)
- объектspec.metadata
- строкаspec.metadata.ca
Доступно в редакциях: Ultimate/EE, Certified Pro/CSE Pro (1.73)
Сертификат для проверки HTTPS URL, который используется для публикации метаданных удаленного кластера.
Пример:
ca: "-----BEGIN CERTIFICATE----- ..... -----END CERTIFICATE-----" - булевыйspec.metadata.insecureSkipVerify
Доступно в редакциях: Ultimate/EE, Certified Pro/CSE Pro (1.73)
Исключение проверки HTTPS-сертификата на стороне клиента для URL, который используется для публикации метаданных удаленного кластера.
По умолчанию:
falseПример:
insecureSkipVerify: true
- строкаspec.metadataEndpoint
Обязательный параметр
Доступно в редакциях: Ultimate/EE, Certified Pro/CSE Pro (1.73)
HTTPS-эндпоинт, который используется для публикации метаданных удаленного кластера.
Пример:
metadataEndpoint: https://istio.k8s.example.com/metadata/ - строкаspec.trustDomain
Обязательный параметр
Доступно в редакциях: Ultimate/EE, Certified Pro/CSE Pro (1.73)
TrustDomain удаленного кластера.
Указание этого параметра является обязательным, однако на данный момент он не используется, так как текущая версия Istio не поддерживает привязку TrustDomain к корневому сертификату центра сертификации (CA).
Шаблон:
^[0-9a-zA-Z._-]+$Пример:
trustDomain: cluster.local
- объектstatus
- массив объектовstatus.conditions
Readiness of metadata exchange with the remote cluster.
PublicMetadataExchangeReady— remotepublic.jsonis reachable and valid.PrivateMetadataExchangeReady— remote private metadata is reachable and valid.DataplaneConnectionReady— cross-cluster dataplane health probe to the remotealliance-healthcheckservice succeeded.
- строкаstatus.conditions.lastProbeTime
Обязательный параметр
- строкаstatus.conditions.lastTransitionTime
Обязательный параметр
- строкаstatus.conditions.message
Обязательный параметр
- строкаstatus.conditions.reason
Обязательный параметр
- строкаstatus.conditions.status
Обязательный параметр
Допустимые значения:
True,False,Unknown - строкаstatus.conditions.type
Обязательный параметр
- объектstatus.metadataCache
- объектstatus.metadataCache.private
- массив объектовstatus.metadataCache.private.ingressGateways
- строкаstatus.metadataCache.private.ingressGateways.address
- целочисленныйstatus.metadataCache.private.ingressGateways.port
- массив объектовstatus.metadataCache.private.publicServices
- строкаstatus.metadataCache.private.publicServices.hostname
- массив объектовstatus.metadataCache.private.publicServices.ports
- строкаstatus.metadataCache.private.publicServices.ports.name
- целочисленныйstatus.metadataCache.private.publicServices.ports.port
- строкаstatus.metadataCache.private.publicServices.ports.protocol
- объектstatus.metadataCache.public
- строкаstatus.metadataCache.public.authnKeyPub
- строкаstatus.metadataCache.public.clusterUUID
- строкаstatus.metadataCache.public.rootCA
IstioMulticluster
Scope: Cluster
Version: v1alpha1
Ресурс для обозначения удалённого кластера как доверенного.
- объектspec
Обязательный параметр
Доступно в редакциях: Ultimate/EE, Certified Pro/CSE Pro (1.73)
- булевыйspec.enableIngressGateway
Доступно в редакциях: Ultimate/EE, Certified Pro/CSE Pro (1.73)
Использование IngressGateway для доступа к удалённым подам.
Если поды между кластерами могут быть напрямую связаны друг с другом (например, при использовании «плоской» сети — flat network), тогда использование дополнительного маршрута может быть неэффективным, и лучше избежать лишних переходов.
По умолчанию:
true - объектspec.metadata
- строкаspec.metadata.ca
Доступно в редакциях: Ultimate/EE, Certified Pro/CSE Pro (1.73)
HTTPS-сертификат удостоверяющего центра для чтения метаданных удалённого кластера.
- булевыйspec.metadata.insecureSkipVerify
Доступно в редакциях: Ultimate/EE, Certified Pro/CSE Pro (1.73)
Включение или выключение проверки сертификата удостоверяющего центра для чтения метаданных удалённого кластера.
По умолчанию:
falseПример:
insecureSkipVerify: true
- строкаspec.metadataEndpoint
Обязательный параметр
Доступно в редакциях: Ultimate/EE, Certified Pro/CSE Pro (1.73)
HTTPS-эндпоинт c метаданными удалённого кластера.
Пример:
metadataEndpoint: https://istio.k8s.example.com/metadata/
- объектstatus
- массив объектовstatus.conditions
Readiness of metadata exchange with the remote cluster.
PublicMetadataExchangeReady— remotepublic.jsonis reachable and valid.PrivateMetadataExchangeReady— remote private metadata is reachable and valid.RemoteAPIServerReady— remote multicluster API host (apiHost) serves the authenticated/apiendpoint.DataplaneConnectionReady— cross-cluster dataplane health probe to the remotealliance-healthcheckservice succeeded.
- строкаstatus.conditions.lastProbeTime
Обязательный параметр
- строкаstatus.conditions.lastTransitionTime
Обязательный параметр
- строкаstatus.conditions.message
Обязательный параметр
- строкаstatus.conditions.reason
Обязательный параметр
- строкаstatus.conditions.status
Обязательный параметр
Допустимые значения:
True,False,Unknown - строкаstatus.conditions.type
Обязательный параметр
- объектstatus.metadataCache
- объектstatus.metadataCache.private
- строкаstatus.metadataCache.private.apiHost
- строкаstatus.metadataCache.private.ca
- массив объектовstatus.metadataCache.private.ingressGateways
- строкаstatus.metadataCache.private.ingressGateways.address
- целочисленныйstatus.metadataCache.private.ingressGateways.port
- строкаstatus.metadataCache.private.networkName
- объектstatus.metadataCache.public
- строкаstatus.metadataCache.public.authnKeyPub
- строкаstatus.metadataCache.public.clusterUUID
- строкаstatus.metadataCache.public.rootCA
WaypointInstance
Short names: wpi
Scope: Namespaced
Version: v1alpha1
- объектmetadata
- строкаmetadata.name
Шаблон:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?$Максимальная длина:
51
- объектspec
- объектspec.allowedRoutes
Конфигурация ограничения того, какие Routes могут прикрепляться к Gateway.
- объектspec.allowedRoutes.namespaces
Конфигурация ограничения неймспейсов Routes, которые могут прикрепляться к Gateway.
- строкаspec.allowedRoutes.namespaces.from
Указывает, из каких неймспейсов разрешено прикреплять Routes к этому Gateway.
Возможные значения:
All: Routes из всех неймспейсов могут быть прикреплены.Selector: только Routes из неймспейсов, соответствующихselector, могут быть прикреплены.Same: только Routes из того же неймспейса, что и Gateway, могут быть прикреплены.
По умолчанию:
SameДопустимые значения:
All,Selector,Same - объектspec.allowedRoutes.namespaces.selector
Label selector для выбора неймспейсов.
Обязателен, когда
fromимеет значениеSelector.- массив объектовspec.allowedRoutes.namespaces.selector.matchExpressions
Список требований к label selector.
- строкаspec.allowedRoutes.namespaces.selector.matchExpressions.key
Обязательный параметр
- строкаspec.allowedRoutes.namespaces.selector.matchExpressions.operator
Обязательный параметр
Допустимые значения:
In,NotIn,Exists,DoesNotExist - массив строкspec.allowedRoutes.namespaces.selector.matchExpressions.values
- объектspec.allowedRoutes.namespaces.selector.matchLabels
Карта пар {ключ, значение}.
Одна пара {ключ, значение} в matchLabels эквивалентна элементу matchExpressions с оператором
Inи массивом values, содержащим только это значение.
- объектspec.nodeSelector
Селектор узла для подов waypoint proxy.
- объектspec.replicasManagement
Настройки управления репликацией и масштабированием для waypoint instance.
- объектspec.replicasManagement.hpa
Настройки управления репликами для режима
HPA.- целочисленныйspec.replicasManagement.hpa.maxReplicas
Верхняя граница количества реплик, до которой HPA может масштабировать вверх.
Допустимые значения:
1 <= X - массив объектовspec.replicasManagement.hpa.metrics
HPA будет использовать эти метрики для принятия решения об увеличении или уменьшении количества реплик.
- целочисленныйspec.replicasManagement.hpa.metrics.targetAverageUtilization
Обязательный параметр
Целевое значение средней метрики ресурсов по всем соответствующим подам, выраженное в процентах от запрошенного значения.
Допустимые значения:
1 <= X <= 100 - строкаspec.replicasManagement.hpa.metrics.type
Обязательный параметр
Тип метрики.
Допустимые значения:
CPU
- целочисленныйspec.replicasManagement.hpa.minReplicas
Нижняя граница количества реплик, до которой HPA может масштабировать вниз.
Допустимые значения:
1 <= X
- строкаspec.replicasManagement.mode
Режим управления репликами.
Возможные значения:
Static: режим, в котором количество реплик задаётся явно.HPA: режим, в котором количество реплик рассчитывается автоматически с помощью HPA на основе загрузки CPU.
По умолчанию:
StaticДопустимые значения:
Static,HPA - объектspec.replicasManagement.static
Настройки управления репликами для режима
Static.- целочисленныйspec.replicasManagement.static.replicas
Желаемое количество реплик.
Допустимые значения:
1 <= X
- объектspec.resourcesManagement
Настройки запросов и лимитов CPU и памяти для подов waypoint.
- строкаspec.resourcesManagement.mode
Режим управления ресурсами.
По умолчанию:
VPAДопустимые значения:
VPA,Static - объектspec.resourcesManagement.static
Настройки статического режима управления ресурсами.
- объектspec.resourcesManagement.static.limits
Лимиты ресурсов.
- строкаspec.resourcesManagement.static.limits.cpu
Лимит CPU.
- строкаspec.resourcesManagement.static.limits.memory
Лимит памяти.
- объектspec.resourcesManagement.static.requests
Запрашиваемые ресурсы.
- строкаspec.resourcesManagement.static.requests.cpu
Запрос CPU.
По умолчанию:
100m - строкаspec.resourcesManagement.static.requests.memory
Запрос памяти.
По умолчанию:
128Mi
- объектspec.resourcesManagement.vpa
Настройки управления ресурсами для режима VPA.
- объектspec.resourcesManagement.vpa.cpu
Настройки VPA для CPU.
- числоspec.resourcesManagement.vpa.cpu.limitRatio
Соотношение лимитов/запросов для CPU.
Если задано, лимиты рассчитываются на основе запросов и указанного соотношения.
- строкаspec.resourcesManagement.vpa.cpu.max
Максимальное значение запроса CPU, которое может установить VPA.
По умолчанию:
1000m - строкаspec.resourcesManagement.vpa.cpu.min
Минимальное значение запроса CPU, которое может установить VPA.
По умолчанию:
100m
- объектspec.resourcesManagement.vpa.memory
Настройки VPA для памяти.
- числоspec.resourcesManagement.vpa.memory.limitRatio
Соотношение лимитов/запросов для памяти.
Если задано, лимиты рассчитываются на основе запросов и указанного коэффициента.
- строкаspec.resourcesManagement.vpa.memory.max
Максимальное значение запроса памяти, которое может установить VPA.
По умолчанию:
2000Mi - строкаspec.resourcesManagement.vpa.memory.min
Минимальное значение запроса памяти, которое может установить VPA.
По умолчанию:
128Mi
- строкаspec.resourcesManagement.vpa.mode
Режим работы VPA.
По умолчанию:
InPlaceOrRecreateДопустимые значения:
Initial,InPlaceOrRecreate
- массив объектовspec.tolerations
Tolerations для подов waypoint proxy.
- строкаspec.tolerations.effect
Допустимые значения:
NoSchedule,PreferNoSchedule,NoExecute - строкаspec.tolerations.key
- строкаspec.tolerations.operator
По умолчанию:
EqualДопустимые значения:
Exists,Equal - целочисленныйspec.tolerations.tolerationSeconds
- строкаspec.tolerations.value
- строкаspec.waypointFor
Управляет значением лейбла
istio.io/waypoint-forна всех управляемых ресурсах.По умолчанию:
AllДопустимые значения:
All,Service,Workload
- объектstatus
- целочисленныйstatus.observedGeneration
Допустимые значения:
0 <= X - булевыйstatus.synced
True, когда желаемые и фактические ресурсы синхронизированы.