Стадия жизненного цикла модуля: Preview
У модуля есть требования для установки

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

ALBInstance

Scope: Namespaced
Version: v1alpha1

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

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

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

  • команда должна управлять своим Gateway в собственном неймспейсе;
  • Gateway выделен под один проект;
  • достаточно режима 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-запросы.
    • spec.basicAuth
      объект
      Определяет, должна ли быть глобально включена basic-аутентификация.
      • spec.basicAuth.enabled
        булевый
        Указывает, включена ли basic-аутентификация.
      • spec.basicAuth.secret
        объект
        Определяет имя и неймспейс секрета, используемого для basic-аутентификации.
        • spec.basicAuth.secret.name
          строка

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

          Имя секрета.
        • spec.basicAuth.secret.namespace
          строка

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

          Неймспейс секрета.
    • spec.controllerPodsAdditionalAnnotations
      объект
      Дополнительные аннотации для подов контроллера и data-plane.
    • spec.envoyLogLevel
      строка
      Определяет уровень логирования Envoy-прокси.

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

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

    • spec.gatewayName
      строка

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

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

      Минимальная длина: 1

    • spec.geoIP
      объект
      Конфигурация загрузчика GeoIP-баз для подов прокси.
      • spec.geoIP.headers
        объект
        Имена заголовков ответа, которые заполняет GeoIP-фильтр.
        • spec.geoIP.headers.anon
          строка
          Имя заголовка для признаков анонимного IP.
        • spec.geoIP.headers.asn
          строка
          Имя заголовка для ASN.
        • spec.geoIP.headers.city
          строка
          Имя заголовка для города.
        • spec.geoIP.headers.country
          строка
          Имя заголовка для кода страны.
        • spec.geoIP.headers.isp
          строка
          Имя заголовка для названия ISP.
        • spec.geoIP.headers.region
          строка
          Имя заголовка для региона или административной единицы.
      • spec.geoIP.maxmindEditionIDs
        массив строк
        Список редакций баз данных, которые нужно загрузить при старте.

        По умолчанию: [ "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.

        Если зеркало используется для раздачи заранее подготовленных архивов, параметр licenseKey можно не указывать.

        • spec.geoIP.maxmindMirror.insecureSkipVerify
          булевый
          Пропускает проверку TLS-сертификата зеркала, например при использовании самоподписанных сертификатов.
        • spec.geoIP.maxmindMirror.url
          строка

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

          URL для загрузки GeoIP-баз.

          Шаблон: ^https?://.+$

          Примеры:


          url: https://mirror.local
          
          url: absolute path 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

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

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

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

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

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

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

    • spec.istioSidecar
      объект
      Параметры автоматической инъекции Istio-сайдкаров в поды прокси.
      • spec.istioSidecar.enabled
        булевый
        Добавляет аннотации в поды прокси для автоматической инъекции контейнеров Istio-сайдкаров.
      • spec.istioSidecar.resources
        объект
        Настройки requests и limits ресурсов для инжектируемого контейнера Istio-сайдкара.
        • spec.istioSidecar.resources.limits
          объект
          Лимиты ресурсов.
          • spec.istioSidecar.resources.limits.cpu
            строка
            Лимит CPU.
          • spec.istioSidecar.resources.limits.memory
            строка
            Лимит памяти.
        • spec.istioSidecar.resources.requests
          объект
          Запрашиваемые ресурсы.
          • spec.istioSidecar.resources.requests.cpu
            строка
            Запрос CPU.
          • spec.istioSidecar.resources.requests.memory
            строка
            Запрос памяти.
    • spec.minReplicas
      целочисленный
      Минимальное количество реплик Envoy Proxy. Если установлено значение больше 1, создается объект PodDisruptionBudget.

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

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

    • spec.nodeSelector
      объект
      Node selector для подов.
    • spec.originalIPDetection
      объект
      Определяет должен ли Envoy Proxy использовать заголовки при вычислении исходного IP-адреса клиента.
      • spec.originalIPDetection.realIPHeader
        строка
        Определяет заголовок используемый для вычисления исходного IP-адреса клиента.

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

        Пример:


        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 и памяти для pod’ов контроллера.
      • 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.tolerations
      массив объектов
      Tolerations для подов.
      • spec.tolerations.effect
        строка

        Допустимые значения: NoSchedule, PreferNoSchedule, NoExecute

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

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

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

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

      • spec.tolerations.value
        строка
    • spec.useProxyProtocol
      булевый
      Включает поддержку PROXY protocol.
  • status
    объект
    Статус ресурса ALBInstance, отражающий фактическое состояние связанного Gateway и data-plane.
    • status.conflictPorts
      булевый
      true, если additionalPorts этого экземпляра игнорируются, потому что авторитетным является другой, более старый экземпляр с тем же gatewayName.
    • status.conflictPortsOwner
      строка
      Ссылка на более старый экземпляр, который определяет фактические additionalPorts для данного gatewayName.
    • status.gateway
      строка
      Фактическое имя Gateway, обслуживаемого данным экземпляром.
    • status.observedGeneration
      целочисленный
      Номер поколения ресурса, обработанного контроллером.

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

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

ClusterALBInstance

Scope: Cluster
Version: v1alpha1

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

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

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

  • Gateway должен находиться в неймспейсе контроллера;
  • Gateway разделяется между несколькими приложениями или командами;
  • нужен режим HostPort;
  • нужны возможности уровня кластера вроде default Deckhouse Gateway.
  • 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-заголовки, добавляемые к запросам.
    • spec.basicAuth
      объект
      Определяет, должна ли быть глобально включена basic-аутентификация.
      • spec.basicAuth.enabled
        булевый
        Указывает, включена ли basic-аутентификация.
      • spec.basicAuth.secret
        объект
        Определяет имя и неймспейс секрета, используемого для basic-аутентификации.
        • spec.basicAuth.secret.name
          строка

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

          Имя секрета.
        • spec.basicAuth.secret.namespace
          строка

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

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

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

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

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

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

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

    • spec.gatewayName
      строка

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

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

      Минимальная длина: 1

    • spec.geoIP
      объект
      Конфигурация загрузчика GeoIP-баз для подов прокси.
      • spec.geoIP.headers
        объект
        Имена HTTP-заголовков запроса, которые заполняет GeoIP-фильтр (добавляются к запросам к upstream).
        • spec.geoIP.headers.anon
          строка
          Имя заголовка для признаков анонимного IP.
        • spec.geoIP.headers.asn
          строка
          Имя заголовка для ASN.
        • spec.geoIP.headers.city
          строка
          Имя заголовка для города.
        • spec.geoIP.headers.country
          строка
          Имя заголовка для кода страны.
        • spec.geoIP.headers.isp
          строка
          Имя заголовка для названия ISP.
        • spec.geoIP.headers.region
          строка
          Имя заголовка для региона или административной единицы.
      • spec.geoIP.maxmindEditionIDs
        массив строк
        Список редакций баз данных, которые нужно загрузить при старте.

        По умолчанию: [ "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.

        Если зеркало раздаёт заранее подготовленные архивы, параметр licenseKey можно не указывать.

        • spec.geoIP.maxmindMirror.insecureSkipVerify
          булевый
          Пропускает проверку TLS-сертификата зеркала, например при использовании самоподписанных сертификатов.
        • spec.geoIP.maxmindMirror.url
          строка

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

          URL для загрузки GeoIP-баз.

          Шаблон: ^https?://.+$

          Примеры:


          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

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

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

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

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

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

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

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

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

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

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

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

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

    • spec.istioSidecar
      объект
      Параметры автоматической инъекции Istio-сайдкаров в поды прокси.
      • spec.istioSidecar.enabled
        булевый
        Добавляет аннотации в поды прокси для автоматической инъекции контейнеров Istio-сайдкаров.
      • spec.istioSidecar.resources
        объект
        Настройки requests и limits ресурсов для инжектируемого контейнера Istio-сайдкара.
        • spec.istioSidecar.resources.limits
          объект
          Лимиты ресурсов.
          • spec.istioSidecar.resources.limits.cpu
            строка
            Лимит CPU.
          • spec.istioSidecar.resources.limits.memory
            строка
            Лимит памяти.
        • spec.istioSidecar.resources.requests
          объект
          Запрашиваемые ресурсы.
          • spec.istioSidecar.resources.requests.cpu
            строка
            Запрос CPU.
          • spec.istioSidecar.resources.requests.memory
            строка
            Запрос памяти.
    • spec.nodeSelector
      объект
      Node selector для подов.
    • spec.originalIPDetection
      объект
      Определяет должен ли Envoy Proxy использовать заголовки при вычислении исходного IP-адреса клиента.
      • spec.originalIPDetection.realIPHeader
        строка
        Определяет заголовок используемый для вычисления исходного IP-адреса клиента.

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

        Пример:


        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 и памяти для pod’ов контроллера.
      • 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.tolerations
      массив объектов
      Tolerations для подов.
      • spec.tolerations.effect
        строка

        Допустимые значения: NoSchedule, PreferNoSchedule, NoExecute

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

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

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

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

      • spec.tolerations.value
        строка
    • spec.useProxyProtocol
      булевый
      Включает поддержку PROXY protocol.
  • status
    объект
    Статус ресурса ClusterALBInstance, отражающий фактическое состояние связанного Gateway и data-plane.
    • status.conflictPorts
      булевый
      true, если additionalPorts этого экземпляра игнорируются, потому что авторитетным является другой, более старый экземпляр с тем же gatewayName.
    • status.conflictPortsOwner
      строка
      Ссылка на более старый экземпляр, который определяет фактические additionalPorts для данного gatewayName.
    • status.defaultGateway
      булевый
      true, если этот кластерный ClusterALBInstance выбран в качестве источника шлюза по умолчанию.
    • status.gateway
      строка
      Фактическое имя Gateway, обслуживаемого данным экземпляром.
    • status.observedGeneration
      целочисленный
      Номер поколения ресурса, обработанного контроллером.

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

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