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. В режиме VPA VPA изменяет запросы в заданных минимальных и максимальных пределах.

      • 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 — remote public.json is reachable and valid.
      • PrivateMetadataExchangeReady — remote private metadata is reachable and valid.
      • DataplaneConnectionReady — cross-cluster dataplane health probe to the remote alliance-healthcheck service 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 — remote public.json is reachable and valid.
      • PrivateMetadataExchangeReady — remote private metadata is reachable and valid.
      • RemoteAPIServerReady — remote multicluster API host (apiHost) serves the authenticated /api endpoint.
      • DataplaneConnectionReady — cross-cluster dataplane health probe to the remote alliance-healthcheck service 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, когда желаемые и фактические ресурсы синхронизированы.