Стадия жизненного цикла модуляPreview

У модуля есть требования для установки

Deckhouse Kubernetes Platform устанавливает CRD, но не удаляет их при отключении модуля. Если вам больше не нужны созданные CRD, удалите их.

ALBInstance

Short names: albi

Scope: Namespaced
Version: v1alpha1

Внимание. Доступно в редакциях: EE, BE, SE, SE+, CSE

Определяет ресурс ALBInstance для настройки экземпляра ALB в рамках пользовательского неймспейса.

Namespaced-ресурс для Gateway уровня приложения или проекта.

Используйте его, когда:

  • команда должна управлять своим Gateway в собственном неймспейсе;
  • Gateway выделен под один проект;
  • достаточно режима LoadBalancer или ClusterIP.

Пример:

apiVersion: network.deckhouse.io/v1alpha1
kind: ALBInstance
metadata:
  name: app-gw
  namespace: app
spec:
  gatewayName: app-gw
  inlet:
    type: LoadBalancer
    loadBalancer: {}
  • spec
    объект
    Спецификация ресурса ALBInstance, определяющая параметры шлюза, точки входа, сетевые ограничения и параметры размещения data-plane.
    • spec.acceptRequestsFrom
      массив строк
      Белый список источников, которым разрешено отправлять запросы.
      • spec.acceptRequestsFrom.Элемент массива
        строка

        Шаблон: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(3[0-2]|[1-2][0-9]|[0-9]))$

    • spec.additionalHeaders
      объект
      Дополнительные заголовки, добавляемые в upstream-запросы.

      Примеры:

      my_static_header: my_value
      
      x-real-ip: '%REQ(CF-CONNECTING-IP)%'
      
    • spec.backendTLS
      объект
      Настройки TLS-клиента, передаваемые в управляемый Gateway. BackendTLSPolicy определяет backend-объекты, для которых используется клиентский сертификат.
      • spec.backendTLS.clientCertificateRef
        объект
        Ссылка на Kubernetes Secret типа kubernetes.io/tls с клиентским сертификатом и приватным ключом. CA настраивается через BackendTLSPolicy.
        • spec.backendTLS.clientCertificateRef.name
          строка

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

          Имя Secret.

          Длина: 1..63

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

        • spec.backendTLS.clientCertificateRef.namespace
          строка
          Неймспейс Secret. Если не указан, используется неймспейс Gateway.

          Длина: 1..63

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

    • spec.basicAuth
      объект
      Определяет, должна ли быть глобально включена basic-аутентификация.
      • spec.basicAuth.enabled
        булевый
        Указывает, включена ли basic-аутентификация.
      • spec.basicAuth.secret
        объект

        Определяет имя и неймспейс секрета, используемого для basic-аутентификации.

        Secret в том же namespace, что и объект ALBInstance, работает всегда. Для секрета в другом namespace требуется Gateway API ReferenceGrant объект в неймспейсе секрета, разрешающий доступ from Gateway в неймспейсе ALBInstance; без него basic-аутентификация остаётся включённой, но без учётных данных, которые могут совпасть, поэтому все запросы отклоняются, пока ссылка не будет авторизована или исправлена.

        • spec.basicAuth.secret.name
          строка

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

          Имя секрета.

          Длина: 1..63

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

        • spec.basicAuth.secret.namespace
          строка

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

          Неймспейс секрета. Для неймспейса, отличного от неймспейса ALBInstance, требуется явный ReferenceGrant объект — см. описание поля secret выше.

          Длина: 1..63

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

    • spec.controllerPodsAdditionalAnnotations
      объект
      Дополнительные аннотации для подов контроллера и data-plane.
    • spec.enableHTTP3
      булевый

      Включает поддержку HTTP/3.

      Внимание. Данный параметр не может быть включён, если используется Proxy Protocol.

    • spec.envoyLogLevel
      строка
      Определяет уровень логирования Envoy-прокси.

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

      Допустимые значения: Off, Critical, Error, Warning, Info, Debug, Trace

    • spec.frontendTLS
      объект
      Настройки проверки клиентских сертификатов frontend TLS, передаваемые в управляемый Gateway.
      • spec.frontendTLS.default
        объект

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

        Настройки проверки по умолчанию для всех HTTPS-listener.
        • spec.frontendTLS.default.validation
          объект
          Параметры проверки клиентского сертификата.
          • spec.frontendTLS.default.validation.caCertificateRefs
            массив объектов
            Список ссылок на ConfigMap с доверенными клиентскими CA в ключе ca.crt. Все указанные CA валидируются и объединяются в единый PEM bundle.
            • spec.frontendTLS.default.validation.caCertificateRefs.name
              строка
              Имя ConfigMap, содержащего CA в ключе ca.crt.

              Длина: 1..63

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

            • spec.frontendTLS.default.validation.caCertificateRefs.namespace
              строка
              Неймспейс ConfigMap. Если не указан, используется неймспейс Gateway.

              Длина: 1..63

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

          • spec.frontendTLS.default.validation.mode
            строка

            Режим проверки клиентского сертификата.

            AllowValidOnly — режим строгого mTLS. AllowInsecureFallback — режим опциональной валидации клиентского сертификата.

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

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

      • spec.frontendTLS.perPort
        массив объектов
        Настройки проверки для отдельных портов HTTPS-listener. Порт сопоставляется точно и полностью переопределяет настройки default для этого порта.
        • spec.frontendTLS.perPort.port
          целочисленный
          Порт HTTPS-listener.

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

        • spec.frontendTLS.perPort.tls
          объект
          Настройки проверки для этого порта.
          • spec.frontendTLS.perPort.tls.validation
            объект
            Параметры проверки клиентского сертификата.
            • spec.frontendTLS.perPort.tls.validation.caCertificateRefs
              массив объектов
              Список ссылок на ConfigMap с доверенными клиентскими CA в ключе ca.crt. Все указанные CA валидируются и объединяются в единый PEM bundle.
              • spec.frontendTLS.perPort.tls.validation.caCertificateRefs.name
                строка
                Имя ConfigMap, содержащего CA в ключе ca.crt.

                Длина: 1..63

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

              • spec.frontendTLS.perPort.tls.validation.caCertificateRefs.namespace
                строка
                Неймспейс ConfigMap. Если не указан, используется неймспейс Gateway.

                Длина: 1..63

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

            • spec.frontendTLS.perPort.tls.validation.mode
              строка

              Режим проверки клиентского сертификата.

              AllowValidOnly — режим строгого mTLS. AllowInsecureFallback — режим опциональной валидации клиентского сертификата.

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

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

    • spec.gatewayName
      строка

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

      Имя ресурса Gateway, к которому относится данный экземпляр.

      Длина: 1..45

    • spec.geoIP
      объект
      Конфигурация скачивания GeoIP-баз данных для proxy-подов.
      • spec.geoIP.headers
        объект
        HTTP-заголовки с GeoIP-данными, которые будут добавляться к запросам.
        • spec.geoIP.headers.anon
          строка
          Заголовок с информацией о принадлежности IP-адреса к анонимизирующим сетям, например VPN, proxy, Tor или хостинг-провайдерам.

          Максимальная длина: 256

          Шаблон: ^[!#$%&'*+.^_`|~0-9A-Za-z-]+$

        • spec.geoIP.headers.asn
          строка
          Заголовок с ASN.

          Максимальная длина: 256

          Шаблон: ^[!#$%&'*+.^_`|~0-9A-Za-z-]+$

        • spec.geoIP.headers.city
          строка
          Заголовок с городом.

          Максимальная длина: 256

          Шаблон: ^[!#$%&'*+.^_`|~0-9A-Za-z-]+$

        • spec.geoIP.headers.country
          строка
          Заголовок с кодом страны.

          Максимальная длина: 256

          Шаблон: ^[!#$%&'*+.^_`|~0-9A-Za-z-]+$

        • spec.geoIP.headers.isp
          строка
          Заголовок с ISP.

          Максимальная длина: 256

          Шаблон: ^[!#$%&'*+.^_`|~0-9A-Za-z-]+$

        • spec.geoIP.headers.region
          строка
          Заголовок с регионом или административным подразделением.

          Максимальная длина: 256

          Шаблон: ^[!#$%&'*+.^_`|~0-9A-Za-z-]+$

      • spec.geoIP.licenseKeySecretRef
        объект

        Ссылка на Secret с лицензионным ключом MaxMind.

        Для ALBInstance Secret должен находиться в том же namespace, что и сам ресурс.

        • spec.geoIP.licenseKeySecretRef.name
          строка

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

          Имя Secret.

          Длина: 1..63

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

      • spec.geoIP.maxmindEditionIDs
        массив строк

        Список редакций баз данных, которые будут использоваться.

        Внимание. Текущая реализация поддерживает использование не более 4 редакций.

        По умолчанию: [ "GeoLite2-City" ]

        • spec.geoIP.maxmindEditionIDs.Элемент массива
          строка

          Допустимые значения: GeoIP2-Anonymous-IP, GeoIP2-City, GeoIP2-ISP, GeoIP2-ASN, GeoLite2-ASN, GeoLite2-City

      • spec.geoIP.maxmindMirror
        объект
        Конфигурация зеркала для скачивания GeoIP-баз данных. Если параметр не задан, базы данных скачиваются напрямую с https://download.maxmind.com.
        • spec.geoIP.maxmindMirror.ca
          строка
          Пользовательский CA-сертификат в формате PEM для проверки TLS-соединений с зеркалом.

          Максимальная длина: 65536

          Пример:

          ca: |
            -----BEGIN CERTIFICATE-----
            ...
            -----END CERTIFICATE-----
          
        • spec.geoIP.maxmindMirror.insecureSkipVerify
          булевый
          Пропустить проверку TLS-сертификата для зеркала.
        • spec.geoIP.maxmindMirror.url
          строка

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

          URL для скачивания GeoIP-баз данных.

          Максимальная длина: 2048

          Шаблон: ^https?://[^\r\n]+$

          Примеры:

          url: https://mirror.local
          
          url: https://mirror.local/GeoLite2-City.tar.gz
          
    • spec.inlet
      объект

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

      Определяет способ поступления входящего трафика в data-plane.
      • spec.inlet.additionalPorts
        массив объектов
        Дополнительные порты сервиса, публикуемые помимо стандартных 80/443.
        • spec.inlet.additionalPorts.port
          целочисленный
          Номер дополнительного порта сервиса.

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

        • spec.inlet.additionalPorts.protocol
          строка
          Сетевой протокол дополнительного порта сервиса. На данный момент поддерживается только TCP.

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

      • spec.inlet.clusterIP
        объект
        Параметры точки входа ClusterIP.

        По умолчанию: {}

        • spec.inlet.clusterIP.httpPort
          целочисленный
          Порт для HTTP-соединений. По умолчанию используется 80. Значение 0 отключает приём HTTP-соединений.

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

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

        • spec.inlet.clusterIP.httpsPort
          целочисленный
          Порт для HTTPS-соединений. По умолчанию используется 443. Значение 0 отключает приём HTTPS-соединений.

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

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

        • spec.inlet.clusterIP.ipAddress
          строка
          Необязательный фиксированный IP-адрес сервиса ClusterIP. Если не указан, Kubernetes назначает адрес автоматически. Поле нельзя изменить после создания объекта.

          Длина: 1..45

        • spec.inlet.clusterIP.serviceAnnotations
          объект
          Дополнительные аннотации для сервиса типа ClusterIP.
      • spec.inlet.loadBalancer
        объект
        Параметры точки входа LoadBalancer.

        По умолчанию: {}

        • spec.inlet.loadBalancer.httpPort
          целочисленный

          Порт для небезопасных HTTP-соединений. Если значение не указано, используется порт 80.

          Можно установить в 0, чтобы отключить приём HTTP-соединений.

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

        • spec.inlet.loadBalancer.httpsPort
          целочисленный

          Порт для защищённых HTTPS-соединений. Если значение не указано, используется порт 443.

          Можно установить в 0, чтобы отключить приём HTTPS-соединений.

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

        • spec.inlet.loadBalancer.loadBalancerClass
          строка

          Класс балансировщика входящих сетевых запросов который пробрасывается в параметр spec.loadBalancerClass заказанного сервиса с типом LoadBalancer.

          Внимание. Это поле нельзя изменить после создания объекта.

          Максимальная длина: 317

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

        • spec.inlet.loadBalancer.loadBalancerSourceRanges
          массив строк

          Список адресов в формате CIDR, которым разрешен доступ к балансировщику.

          Внимание. Облачный провайдер может не поддерживать данную опцию и игнорировать ее.

          Провайдеры поддерживающие опцию: AWS, Azure, GCP. Провайдеры игнорирующие опцию: Yandex Cloud.

          Для остальных облачных провайдеров поведение может зависеть от особенностей реализации облака. Протестируйте работу опции перед использованием в production-среде.

          • spec.inlet.loadBalancer.loadBalancerSourceRanges.Элемент массива
            строка

            Шаблон: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(3[0-2]|[1-2][0-9]|[0-9]))$

        • spec.inlet.loadBalancer.serviceAnnotations
          объект
          Дополнительные аннотации для сервиса типа LoadBalancer.
      • spec.inlet.type
        строка

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

        Поддерживаемый тип точки входа.

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

    • spec.istioSidecar
      объект
      Параметры автоматической инъекции Istio-сайдкаров в поды прокси.
      • spec.istioSidecar.enabled
        булевый

        Добавляет аннотации в поды прокси для автоматической инъекции контейнеров Istio-сайдкаров.

        Для использования этой возможности с HTTPRoute настройте оба параметра:

        • аннотацию alb.network.deckhouse.io/service-upstream: "true": она направляет запросы на ClusterIP backend-сервиса вместо прямого обращения к подам, чтобы Istio-сайдкар мог перехватить трафик;
        • фильтр URLRewrite с FQDN backend-сервиса в поле hostname: он задаёт upstream Host, чтобы Istio-сайдкар распознал backend-сервис и установил mTLS.

        Пример:

        metadata:
          annotations:
            alb.network.deckhouse.io/service-upstream: "true"
        spec:
          rules:
            - filters:
                - type: URLRewrite
                  urlRewrite:
                    hostname: httpbin.test-backend.svc.cluster.local
      • spec.istioSidecar.resources
        объект
        Настройки requests и limits ресурсов для инжектируемого контейнера Istio-сайдкара.
        • spec.istioSidecar.resources.limits
          объект
          Лимиты ресурсов.
          • spec.istioSidecar.resources.limits.cpu
            строка
            Лимит CPU.

            Максимальная длина: 64

            Шаблон: ^[^\r\n]*$

          • spec.istioSidecar.resources.limits.memory
            строка
            Лимит памяти.

            Максимальная длина: 64

            Шаблон: ^[^\r\n]*$

        • spec.istioSidecar.resources.requests
          объект
          Запрашиваемые ресурсы.
          • spec.istioSidecar.resources.requests.cpu
            строка
            Запрос CPU.

            Максимальная длина: 64

            Шаблон: ^[^\r\n]*$

          • spec.istioSidecar.resources.requests.memory
            строка
            Запрос памяти.

            Максимальная длина: 64

            Шаблон: ^[^\r\n]*$

    • spec.minReplicas
      целочисленный
      Минимальное количество реплик Envoy Proxy. Если установлено значение больше 1, создается объект PodDisruptionBudget.

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

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

    • spec.nodeSelector
      объект
      Node selector для подов.
    • spec.openTelemetry
      объект
      Конфигурация OpenTelemetry для прокси Envoy.
      • spec.openTelemetry.tracing
        объект
        Настройки трассировки OpenTelemetry.
        • spec.openTelemetry.tracing.randomSamplingPercentage
          число
          Процент запросов, случайно выбираемых Envoy для генерации трассировок.

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

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

        • spec.openTelemetry.tracing.tls
          объект
          TLS-настройки, используемые Envoy при подключении к OpenTelemetry Collector.
          • spec.openTelemetry.tracing.tls.caSecretName
            строка
            Имя Kubernetes Secret, содержащего CA-сертификат для проверки сертификата OpenTelemetry Collector. Secret должен находиться в том же namespace, что и объект ALBInstance.

            Максимальная длина: 63

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

            Пример:

            caSecretName: otel-tracing-ca
            
          • spec.openTelemetry.tracing.tls.insecureSkipVerify
            булевый
            Позволяет Envoy подключаться к OpenTelemetry Collector, даже если проверка сертификата не проходит.
          • spec.openTelemetry.tracing.tls.sni
            строка

            Значение Server Name Indication (SNI), отправляемое Envoy при установлении TLS-сессии.

            Внимание. Необходимо указывать, если OpenTelemetry Collector находится за TLS-прокси или балансировщиком, который маршрутизирует соединения на основе SNI.

            Максимальная длина: 253

            Шаблон: ^[^\r\n]*$

          • spec.openTelemetry.tracing.tls.subjectAltNames
            массив строк
            Список Subject Alternative Names (SAN) для верификации сертификата OpenTelemetry Collector.
            • spec.openTelemetry.tracing.tls.subjectAltNames.Элемент массива
              строка

              Максимальная длина: 253

              Шаблон: ^[^\r\n]*$

        • spec.openTelemetry.tracing.url
          строка
          URL сервера OpenTelemetry Collector для экспорта трассировок.

          Шаблон: ^(https?|grpc)://([A-Za-z0-9](?:[-A-Za-z0-9]*[A-Za-z0-9])?)(?:\.([A-Za-z0-9](?:[-A-Za-z0-9]*[A-Za-z0-9])?))+(?::(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{0,3}))?(?:/[A-Za-z0-9._~!$&'()*+,;=:@%/-]*)?$

          Примеры:

          url: http://opentelemetry.collector.local
          
          url: grpc://opentelemetry.collector.local
          
          url: https://opentelemetry.collector.local
          
          url: https://opentelemetry.collector.local:4018
          
          url: https://opentelemetry.collector.local:4018/v1/traces
          
    • spec.originalIPDetection
      объект
      Определяет должен ли Envoy Proxy использовать заголовки при вычислении исходного IP-адреса клиента.
      • spec.originalIPDetection.realIPHeader
        строка
        Определяет заголовок используемый для вычисления исходного IP-адреса клиента.

        По умолчанию: X-Forwarded-For

        Максимальная длина: 256

        Шаблон: ^[!#$%&'*+.^_`|~0-9A-Za-z-]+$

        Пример:

        realIPHeader: X-Real-IP
        
      • spec.originalIPDetection.setRealIPFrom
        массив строк

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

        Определяет диапазоны CIDR, которым разрешено передавать заголовки для определения исходного IP-адреса клиента.
        • spec.originalIPDetection.setRealIPFrom.Элемент массива
          строка

          Шаблон: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(3[0-2]|[1-2][0-9]|[0-9]))$

    • spec.resourcesManagement
      объект
      Настройки requests и limits CPU и памяти для подов контроллера.
      • 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.

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

          • spec.resourcesManagement.static.requests.memory
            строка
            Запрос памяти.

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

      • spec.resourcesManagement.vpa
        объект
        Настройки управления ресурсами для режима VPA.
        • spec.resourcesManagement.vpa.cpu
          объект
          Настройки VPA, связанные с CPU.

          По умолчанию: {}

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

            Отношение limits/request CPU.

            Если задано, limits рассчитываются на основе requests и указанного коэффициента.

          • spec.resourcesManagement.vpa.cpu.max
            строка
            Максимальное значение request CPU, которое VPA может выставить.

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

          • spec.resourcesManagement.vpa.cpu.min
            строка
            Минимальное значение request CPU, которое VPA может выставить.

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

        • spec.resourcesManagement.vpa.memory
          объект
          Настройки VPA, связанные с памятью.

          По умолчанию: {}

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

            Отношение limits/request памяти.

            Если задано, limits рассчитываются на основе requests и указанного коэффициента.

          • spec.resourcesManagement.vpa.memory.max
            строка
            Максимальное значение request памяти, которое VPA может выставить.

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

          • spec.resourcesManagement.vpa.memory.min
            строка
            Минимальное значение request памяти, которое VPA может выставить.

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

        • spec.resourcesManagement.vpa.mode
          строка
          Режим работы VPA.

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

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

    • spec.suppressEnvoyHeaders
      булевый

      Подавляет отладочные заголовки ответа Envoy, такие как x-envoy-upstream-service-time, на listener’ах gateway.

      По умолчанию true.

    • spec.tolerations
      массив объектов
      Tolerations для подов.
      • spec.tolerations.effect
        строка

        Максимальная длина: 64

        Шаблон: ^(NoSchedule|PreferNoSchedule|NoExecute)?$

      • spec.tolerations.key
        строка

        Максимальная длина: 317

        Шаблон: ^$|^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]/)?([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]$

      • spec.tolerations.operator
        строка

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

        Максимальная длина: 64

        Шаблон: ^(Equal|Exists)?$

      • spec.tolerations.tolerationSeconds
        целочисленный

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

      • spec.tolerations.value
        строка

        Максимальная длина: 63

        Шаблон: ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$

    • spec.useProxyProtocol
      булевый

      Включает поддержку Proxy Protocol.

      Внимание. Данный параметр не может быть включён, если используется HTTP/3.

  • status
    объект
    Статус ресурса ALBInstance, отражающий фактическое состояние связанного Gateway и data-plane.
    • status.conflictBackendTLS
      булевый
      true, если backendTLS этого экземпляра конфликтует с настройкой другого экземпляра для того же Gateway.
    • status.conflictBackendTLSOwner
      строка
      Ссылка на экземпляр с другим клиентским сертификатом backendTLS для этого Gateway.
    • status.conflictFrontendTLS
      булевый
      true, если frontendTLS этого экземпляра конфликтует с настройкой другого экземпляра для того же Gateway.
    • status.conflictFrontendTLSOwner
      строка
      Ссылка на экземпляр с другой конфигурацией frontendTLS для этого Gateway.
    • status.conflictPorts
      булевый
      true, если additionalPorts этого экземпляра игнорируются, потому что авторитетным является другой, более старый экземпляр с тем же gatewayName.
    • status.conflictPortsOwner
      строка
      Ссылка на более старый экземпляр, который определяет фактические additionalPorts для данного gatewayName.
    • status.gateway
      строка
      Фактическое имя Gateway, обслуживаемого данным экземпляром.
    • status.observedGeneration
      целочисленный
      Номер поколения ресурса, обработанного контроллером.

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

    • status.ready
      булевый
      true, если экземпляр готов обслуживать трафик.
    • status.synced
      булевый
      true, если желаемое и фактическое состояние ресурсов синхронизированы.

ClusterALBInstance

Short names: calbi

Scope: Cluster
Version: v1alpha1

Определяет ресурс ClusterALBInstance для настройки экземпляра ALB на уровне кластера, расположенный в системном пространстве имен.

Cluster-scoped ресурс для общих или платформенных Gateway.

Используйте его, когда:

  • Gateway должен находиться в неймспейсе контроллера;
  • Gateway разделяется между несколькими приложениями или командами;
  • нужен режим HostPort;
  • нужны возможности уровня кластера вроде default Deckhouse Gateway.

Пример:

apiVersion: network.deckhouse.io/v1alpha1
kind: ClusterALBInstance
metadata:
  name: public-gw
spec:
  gatewayName: public-gw
  inlet:
    type: LoadBalancer
    loadBalancer: {}
  • spec
    объект
    Спецификация ресурса ClusterALBInstance, определяющая параметры шлюза, точки входа, сетевые ограничения и параметры размещения data-plane.
    • spec.acceptRequestsFrom
      массив строк
      Белый список источников, которым разрешено отправлять запросы.
      • spec.acceptRequestsFrom.Элемент массива
        строка

        Шаблон: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(3[0-2]|[1-2][0-9]|[0-9]))$

    • spec.additionalHeaders
      объект
      Дополнительные HTTP-заголовки, добавляемые к запросам.

      Примеры:

      my_static_header: my_value
      
      x-real-ip: '%REQ(CF-CONNECTING-IP)%'
      
    • spec.backendTLS
      объект
      Настройки TLS-клиента, передаваемые в управляемый Gateway. BackendTLSPolicy определяет backend-объекты, для которых используется клиентский сертификат.
      • spec.backendTLS.clientCertificateRef
        объект
        Ссылка на Kubernetes Secret типа kubernetes.io/tls с клиентским сертификатом и приватным ключом. CA настраивается через BackendTLSPolicy.
        • spec.backendTLS.clientCertificateRef.name
          строка

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

          Имя Secret.

          Длина: 1..63

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

        • spec.backendTLS.clientCertificateRef.namespace
          строка
          Неймспейс Secret. Если не указан, используется неймспейс Gateway.

          Длина: 1..63

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

    • spec.basicAuth
      объект
      Определяет, должна ли быть глобально включена basic-аутентификация.
      • spec.basicAuth.enabled
        булевый
        Указывает, включена ли basic-аутентификация.
      • spec.basicAuth.secret
        объект

        Определяет имя и неймспейс секрета, используемого для basic-аутентификации.

        Secret в неймспейсе контроллера (d8-alb) работает всегда. Для секрета в другом неймспейсе требуется Gateway API ReferenceGrant объект в неймспейсе секрета, разрешающий доступ from Gateway в d8-alb; без него basic-аутентификация остаётся включённой, но без учётных данных, которые могут совпасть, поэтому все запросы отклоняются, пока ссылка не будет авторизована или исправлена.

        • spec.basicAuth.secret.name
          строка

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

          Имя секрета.

          Длина: 1..63

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

        • spec.basicAuth.secret.namespace
          строка

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

          Неймспейс секрета. Для неймспейса, отличного от d8-alb, требуется явный ReferenceGrant объект — см. описание поля secret выше.

          Длина: 1..63

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

    • spec.controllerPodsAdditionalAnnotations
      объект
      Дополнительные аннотации для подов контроллера и data-plane.
    • spec.defaultDeckhouseGateway
      булевый

      Помечает шлюз как шлюз Deckhouse по умолчанию в кластере. Такой шлюз используется для публикации HTTP/HTTPS-эндпоинтов Deckhouse.

      Внимание. Если несколько шлюзов помечены как шлюз по умолчанию, будет выбран самый старый из них.

      Внимание. В настоящее время для шлюза по умолчанию должны быть настроены порты HTTP и HTTPS.

    • spec.enableHTTP3
      булевый

      Включает поддержку HTTP/3.

      Внимание. Данный параметр не может быть включён, если используется Proxy Protocol.

    • spec.envoyLogLevel
      строка
      Определяет уровень логирования Envoy-прокси.

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

      Допустимые значения: Off, Critical, Error, Warning, Info, Debug, Trace

    • spec.frontendTLS
      объект
      Настройки проверки клиентских сертификатов frontend TLS, передаваемые в управляемый Gateway.
      • spec.frontendTLS.default
        объект

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

        Настройки проверки по умолчанию для всех HTTPS-listener.
        • spec.frontendTLS.default.validation
          объект
          Параметры проверки клиентского сертификата.
          • spec.frontendTLS.default.validation.caCertificateRefs
            массив объектов
            Список ссылок на ConfigMap с доверенными клиентскими CA в ключе ca.crt. Все указанные CA валидируются и объединяются в единый PEM bundle.
            • spec.frontendTLS.default.validation.caCertificateRefs.name
              строка
              Имя ConfigMap, содержащего CA в ключе ca.crt.

              Длина: 1..63

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

            • spec.frontendTLS.default.validation.caCertificateRefs.namespace
              строка
              Неймспейс ConfigMap. Если не указан, используется неймспейс Gateway.

              Длина: 1..63

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

          • spec.frontendTLS.default.validation.mode
            строка

            Режим проверки клиентского сертификата.

            AllowValidOnly — режим строгого mTLS. AllowInsecureFallback — режим опциональной валидации клиентского сертификата.

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

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

      • spec.frontendTLS.perPort
        массив объектов
        Настройки проверки для отдельных портов HTTPS-listener. Порт сопоставляется точно и полностью переопределяет настройки default для этого порта.
        • spec.frontendTLS.perPort.port
          целочисленный
          Порт HTTPS-listener.

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

        • spec.frontendTLS.perPort.tls
          объект
          Настройки проверки для этого порта.
          • spec.frontendTLS.perPort.tls.validation
            объект
            Параметры проверки клиентского сертификата.
            • spec.frontendTLS.perPort.tls.validation.caCertificateRefs
              массив объектов
              Список ссылок на ConfigMap с доверенными клиентскими CA в ключе ca.crt. Все указанные CA валидируются и объединяются в единый PEM bundle.
              • spec.frontendTLS.perPort.tls.validation.caCertificateRefs.name
                строка
                Имя ConfigMap, содержащего CA в ключе ca.crt.

                Длина: 1..63

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

              • spec.frontendTLS.perPort.tls.validation.caCertificateRefs.namespace
                строка
                Неймспейс ConfigMap. Если не указан, используется неймспейс Gateway.

                Длина: 1..63

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

            • spec.frontendTLS.perPort.tls.validation.mode
              строка

              Режим проверки клиентского сертификата.

              AllowValidOnly — режим строгого mTLS. AllowInsecureFallback — режим опциональной валидации клиентского сертификата.

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

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

    • spec.gatewayName
      строка

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

      Имя ресурса Gateway, к которому относится данный экземпляр.

      Длина: 1..45

    • spec.geoIP
      объект
      Конфигурация скачивания GeoIP-баз данных для proxy-подов.
      • spec.geoIP.headers
        объект
        HTTP-заголовки с GeoIP-данными, которые будут добавляться к запросам.
        • spec.geoIP.headers.anon
          строка
          Заголовок с информацией о принадлежности IP-адреса к анонимизирующим сетям, например VPN, proxy, Tor или хостинг-провайдерам.

          Максимальная длина: 256

          Шаблон: ^[!#$%&'*+.^_`|~0-9A-Za-z-]+$

        • spec.geoIP.headers.asn
          строка
          Заголовок с ASN.

          Максимальная длина: 256

          Шаблон: ^[!#$%&'*+.^_`|~0-9A-Za-z-]+$

        • spec.geoIP.headers.city
          строка
          Заголовок с городом.

          Максимальная длина: 256

          Шаблон: ^[!#$%&'*+.^_`|~0-9A-Za-z-]+$

        • spec.geoIP.headers.country
          строка
          Заголовок с кодом страны.

          Максимальная длина: 256

          Шаблон: ^[!#$%&'*+.^_`|~0-9A-Za-z-]+$

        • spec.geoIP.headers.isp
          строка
          Заголовок с ISP.

          Максимальная длина: 256

          Шаблон: ^[!#$%&'*+.^_`|~0-9A-Za-z-]+$

        • spec.geoIP.headers.region
          строка
          Заголовок с регионом или административным подразделением.

          Максимальная длина: 256

          Шаблон: ^[!#$%&'*+.^_`|~0-9A-Za-z-]+$

      • spec.geoIP.licenseKeySecretRef
        объект

        Ссылка на Secret с лицензионным ключом MaxMind.

        Secret в неймспейсе контроллера (d8-alb) работает всегда. Для секрета в другом неймспейсе требуется Gateway API ReferenceGrant объект в неймспейсе секрета, разрешающий доступ from Gateway в d8-alb; без него секрет не читается, и настройка GeoIP завершается ошибкой, пока ссылка не будет авторизована или исправлена.

        • spec.geoIP.licenseKeySecretRef.name
          строка

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

          Имя Secret.

          Длина: 1..63

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

        • spec.geoIP.licenseKeySecretRef.namespace
          строка

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

          Namespace, в котором находится Secret. Для неймспейса, отличного от d8-alb, требуется явный ReferenceGrant объект — см. описание поля выше.

          Длина: 1..63

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

      • spec.geoIP.maxmindEditionIDs
        массив строк

        Список редакций баз данных, которые будут использоваться.

        Внимание. Текущая реализация поддерживает использование не более 4 редакций.

        По умолчанию: [ "GeoLite2-City" ]

        • spec.geoIP.maxmindEditionIDs.Элемент массива
          строка

          Допустимые значения: GeoIP2-Anonymous-IP, GeoIP2-City, GeoIP2-ISP, GeoIP2-ASN, GeoLite2-ASN, GeoLite2-City

      • spec.geoIP.maxmindMirror
        объект
        Конфигурация зеркала для скачивания GeoIP-баз данных. Если параметр не задан, базы данных скачиваются напрямую с https://download.maxmind.com.
        • spec.geoIP.maxmindMirror.ca
          строка
          Пользовательский CA-сертификат в формате PEM для проверки TLS-соединений с зеркалом.

          Максимальная длина: 65536

          Пример:

          ca: |
            -----BEGIN CERTIFICATE-----
            ...
            -----END CERTIFICATE-----
          
        • spec.geoIP.maxmindMirror.insecureSkipVerify
          булевый
          Пропустить проверку TLS-сертификата для зеркала.
        • spec.geoIP.maxmindMirror.url
          строка

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

          URL для скачивания GeoIP-баз данных.

          Максимальная длина: 2048

          Шаблон: ^https?://[^\r\n]+$

          Примеры:

          url: https://mirror.local
          
          url: https://mirror.local/GeoLite2-City.tar.gz
          
    • spec.inlet
      объект

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

      Определяет способ поступления входящего трафика в data-plane.
      • spec.inlet.additionalPorts
        массив объектов
        Дополнительные порты сервиса, публикуемые помимо стандартных 80/443. Для точек входа HostPort эти порты также пробрасываются как hostPort на управляемом DaemonSet.
        • spec.inlet.additionalPorts.port
          целочисленный
          Номер дополнительного порта сервиса.

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

        • spec.inlet.additionalPorts.protocol
          строка
          Сетевой протокол дополнительного порта сервиса. На данный момент поддерживается только TCP.

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

      • spec.inlet.hostPort
        объект
        Параметры точки входа HostPort.
        • spec.inlet.hostPort.httpPort
          целочисленный

          Порт для небезопасных HTTP-соединений.

          Если параметр не задан, нельзя установить соединение по HTTP.

          Этот параметр обязателен, если не задан httpsPort.

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

        • spec.inlet.hostPort.httpsPort
          целочисленный

          Порт для защищённых HTTPS-соединений.

          Если параметр не задан, нельзя установить соединение по HTTPS.

          Этот параметр обязателен, если не задан httpPort.

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

      • spec.inlet.loadBalancer
        объект
        Параметры точки входа LoadBalancer.
        • spec.inlet.loadBalancer.httpPort
          целочисленный

          Порт для небезопасных HTTP-соединений. Если значение не указано, используется порт 80.

          Можно установить в 0, чтобы отключить приём HTTP-соединений.

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

        • spec.inlet.loadBalancer.httpsPort
          целочисленный

          Порт для защищённых HTTPS-соединений. Если значение не указано, используется порт 443.

          Можно установить в 0, чтобы отключить приём HTTPS-соединений.

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

        • spec.inlet.loadBalancer.loadBalancerClass
          строка

          Класс балансировщика входящих сетевых запросов который пробрасывается в параметр spec.loadBalancerClass заказанного сервиса с типом LoadBalancer.

          Внимание. Это поле нельзя изменить после создания объекта.

          Максимальная длина: 317

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

        • spec.inlet.loadBalancer.loadBalancerSourceRanges
          массив строк

          Список адресов в формате CIDR, которым разрешен доступ к балансировщику.

          Внимание. Облачный провайдер может не поддерживать данную опцию и игнорировать ее.

          Провайдеры поддерживающие опцию: AWS, Azure, GCP. Провайдеры игнорирующие опцию: Yandex Cloud.

          Для остальных облачных провайдеров поведение может зависеть от особенностей реализации облака. Протестируйте работу опции перед использованием в production-среде.

          • spec.inlet.loadBalancer.loadBalancerSourceRanges.Элемент массива
            строка

            Шаблон: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(3[0-2]|[1-2][0-9]|[0-9]))$

        • spec.inlet.loadBalancer.serviceAnnotations
          объект
          Дополнительные аннотации для сервиса типа LoadBalancer.
      • spec.inlet.type
        строка

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

        Поддерживаемый тип точки входа.

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

    • spec.istioSidecar
      объект
      Параметры автоматической инъекции Istio-сайдкаров в поды прокси.
      • spec.istioSidecar.enabled
        булевый

        Добавляет аннотации в поды прокси для автоматической инъекции контейнеров Istio-сайдкаров.

        Для использования этой возможности с HTTPRoute настройте оба параметра:

        • аннотацию alb.network.deckhouse.io/service-upstream: "true": она направляет запросы на ClusterIP backend-сервиса вместо прямого обращения к подам, чтобы Istio-сайдкар мог перехватить трафик;
        • фильтр URLRewrite с FQDN backend-сервиса в поле hostname: он задаёт upstream Host, чтобы Istio-сайдкар распознал backend-сервис и установил mTLS.

        Пример:

        metadata:
          annotations:
            alb.network.deckhouse.io/service-upstream: "true"
        spec:
          rules:
            - filters:
                - type: URLRewrite
                  urlRewrite:
                    hostname: httpbin.test-backend.svc.cluster.local
      • spec.istioSidecar.resources
        объект
        Настройки requests и limits ресурсов для инжектируемого контейнера Istio-сайдкара.
        • spec.istioSidecar.resources.limits
          объект
          Лимиты ресурсов.
          • spec.istioSidecar.resources.limits.cpu
            строка
            Лимит CPU.

            Максимальная длина: 64

            Шаблон: ^[^\r\n]*$

          • spec.istioSidecar.resources.limits.memory
            строка
            Лимит памяти.

            Максимальная длина: 64

            Шаблон: ^[^\r\n]*$

        • spec.istioSidecar.resources.requests
          объект
          Запрашиваемые ресурсы.
          • spec.istioSidecar.resources.requests.cpu
            строка
            Запрос CPU.

            Максимальная длина: 64

            Шаблон: ^[^\r\n]*$

          • spec.istioSidecar.resources.requests.memory
            строка
            Запрос памяти.

            Максимальная длина: 64

            Шаблон: ^[^\r\n]*$

    • spec.nodeSelector
      объект
      Node selector для подов.
    • spec.openTelemetry
      объект
      Конфигурация OpenTelemetry для прокси Envoy.
      • spec.openTelemetry.tracing
        объект
        Настройки трассировки OpenTelemetry.
        • spec.openTelemetry.tracing.randomSamplingPercentage
          число
          Процент запросов, случайно выбираемых Envoy для генерации трассировок.

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

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

        • spec.openTelemetry.tracing.tls
          объект
          TLS-настройки, используемые Envoy при подключении к OpenTelemetry Collector.
          • spec.openTelemetry.tracing.tls.caSecretName
            строка
            Имя Kubernetes Secret, содержащего CA-сертификат для проверки сертификата OpenTelemetry Collector. Secret должен находиться в d8-alb namespace.

            Максимальная длина: 63

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

            Пример:

            caSecretName: otel-tracing-ca
            
          • spec.openTelemetry.tracing.tls.insecureSkipVerify
            булевый
            Позволяет Envoy подключаться к OpenTelemetry Collector, даже если проверка сертификата не проходит.
          • spec.openTelemetry.tracing.tls.sni
            строка

            Значение Server Name Indication (SNI), отправляемое Envoy при установлении TLS-сессии.

            Внимание. Необходимо указывать, если OpenTelemetry Collector находится за TLS-прокси или балансировщиком, который маршрутизирует соединения на основе SNI.

            Максимальная длина: 253

            Шаблон: ^[^\r\n]*$

          • spec.openTelemetry.tracing.tls.subjectAltNames
            массив строк
            Список Subject Alternative Names (SAN) для верификации сертификата OpenTelemetry Collector.
            • spec.openTelemetry.tracing.tls.subjectAltNames.Элемент массива
              строка

              Максимальная длина: 253

              Шаблон: ^[^\r\n]*$

        • spec.openTelemetry.tracing.url
          строка
          URL сервера OpenTelemetry Collector для экспорта трассировок.

          Шаблон: ^(https?|grpc)://([A-Za-z0-9](?:[-A-Za-z0-9]*[A-Za-z0-9])?)(?:\.([A-Za-z0-9](?:[-A-Za-z0-9]*[A-Za-z0-9])?))+(?::(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{0,3}))?(?:/[A-Za-z0-9._~!$&'()*+,;=:@%/-]*)?$

          Примеры:

          url: http://opentelemetry.collector.local
          
          url: grpc://opentelemetry.collector.local
          
          url: https://opentelemetry.collector.local
          
          url: https://opentelemetry.collector.local:4018
          
          url: https://opentelemetry.collector.local:4018/v1/traces
          
    • spec.originalIPDetection
      объект
      Определяет должен ли Envoy Proxy использовать заголовки при вычислении исходного IP-адреса клиента.
      • spec.originalIPDetection.realIPHeader
        строка
        Определяет заголовок используемый для вычисления исходного IP-адреса клиента.

        По умолчанию: X-Forwarded-For

        Максимальная длина: 256

        Шаблон: ^[!#$%&'*+.^_`|~0-9A-Za-z-]+$

        Пример:

        realIPHeader: X-Real-IP
        
      • spec.originalIPDetection.setRealIPFrom
        массив строк

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

        Определяет диапазоны CIDR, которым разрешено передавать заголовки для определения исходного IP-адреса клиента.
        • spec.originalIPDetection.setRealIPFrom.Элемент массива
          строка

          Шаблон: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(3[0-2]|[1-2][0-9]|[0-9]))$

    • spec.resourcesManagement
      объект
      Настройки requests и limits CPU и памяти для подов контроллера.
      • 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.

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

          • spec.resourcesManagement.static.requests.memory
            строка
            Запрос памяти.

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

      • spec.resourcesManagement.vpa
        объект
        Настройки управления ресурсами для режима VPA.
        • spec.resourcesManagement.vpa.cpu
          объект
          Настройки VPA, связанные с CPU.

          По умолчанию: {}

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

            Отношение limits/request CPU.

            Если задано, limits рассчитываются на основе requests и указанного коэффициента.

          • spec.resourcesManagement.vpa.cpu.max
            строка
            Максимальное значение request CPU, которое VPA может выставить.

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

          • spec.resourcesManagement.vpa.cpu.min
            строка
            Минимальное значение request CPU, которое VPA может выставить.

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

        • spec.resourcesManagement.vpa.memory
          объект
          Настройки VPA, связанные с памятью.

          По умолчанию: {}

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

            Отношение limits/request памяти.

            Если задано, limits рассчитываются на основе requests и указанного коэффициента.

          • spec.resourcesManagement.vpa.memory.max
            строка
            Максимальное значение request памяти, которое VPA может выставить.

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

          • spec.resourcesManagement.vpa.memory.min
            строка
            Минимальное значение request памяти, которое VPA может выставить.

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

        • spec.resourcesManagement.vpa.mode
          строка
          Режим работы VPA.

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

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

    • spec.suppressEnvoyHeaders
      булевый

      Подавляет отладочные заголовки ответа Envoy, такие как x-envoy-upstream-service-time, на listener’ах gateway.

      По умолчанию true.

    • spec.tolerations
      массив объектов
      Tolerations для подов.
      • spec.tolerations.effect
        строка

        Максимальная длина: 64

        Шаблон: ^(NoSchedule|PreferNoSchedule|NoExecute)?$

      • spec.tolerations.key
        строка

        Максимальная длина: 317

        Шаблон: ^$|^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]/)?([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]$

      • spec.tolerations.operator
        строка

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

        Максимальная длина: 64

        Шаблон: ^(Equal|Exists)?$

      • spec.tolerations.tolerationSeconds
        целочисленный

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

      • spec.tolerations.value
        строка

        Максимальная длина: 63

        Шаблон: ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$

    • spec.useProxyProtocol
      булевый

      Включает поддержку Proxy Protocol.

      Внимание. Данный параметр не может быть включён, если используется HTTP/3.

  • status
    объект
    Статус ресурса ClusterALBInstance, отражающий фактическое состояние связанного Gateway и data-plane.
    • status.conflictBackendTLS
      булевый
      true, если backendTLS этого экземпляра конфликтует с настройкой другого экземпляра для того же Gateway.
    • status.conflictBackendTLSOwner
      строка
      Ссылка на экземпляр с другим клиентским сертификатом backendTLS для этого Gateway.
    • status.conflictFrontendTLS
      булевый
      true, если frontendTLS этого экземпляра конфликтует с настройкой другого экземпляра для того же Gateway.
    • status.conflictFrontendTLSOwner
      строка
      Ссылка на экземпляр с другой конфигурацией frontendTLS для этого Gateway.
    • status.conflictPorts
      булевый
      true, если additionalPorts этого экземпляра игнорируются, потому что авторитетным является другой, более старый экземпляр с тем же gatewayName.
    • status.conflictPortsOwner
      строка
      Ссылка на более старый экземпляр, который определяет фактические additionalPorts для данного gatewayName.
    • status.defaultDeckhouseGateway
      булевый
      true, если этот кластерный ClusterALBInstance выбран в качестве источника шлюза по умолчанию.
    • status.gateway
      строка
      Фактическое имя Gateway, обслуживаемого данным экземпляром.
    • status.observedGeneration
      целочисленный
      Номер поколения ресурса, обработанного контроллером.

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

    • status.ready
      булевый
      true, если экземпляр готов обслуживать трафик.
    • status.synced
      булевый
      true, если желаемое и фактическое состояние ресурсов синхронизированы.