Доступно с ограничениями в редакциях:  Certified Core/CSE Lite (1.73), Certified Pro/CSE Pro (1.73)

Доступно без ограничений в редакциях:  Ultimate/EE

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

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

Перед включением модуля необходимо разрешить использование экспериментальных модулей в ModuleConfig deckhouse. Для этого установите параметр allowExperimentalModules в true.

Включение модуля

Для включения модуля воспользуйтесь веб-интерфейсом или следующей командой:

d8 platform module enable neuvector

Аутентификация

Модуль NeuVector интегрирован с модулем user-authn Deckhouse Kubernetes Platform через Dex. Модуль user-authn обязателен — без него контроллер не запустится.

Встроенный по умолчанию пользователь NeuVector admin отключён на уровне контроллера (контроллер стартует с флагом -no_def_admin), поэтому стандартные upstream-учётные данные admin/admin использовать нельзя. Все сценарии входа идут через Dex:

  • Группы пользователя из DexProvider модуля user-authn передаются в NeuVector через OIDC claim groups.
  • Через auth.allowedUserEmails / auth.allowedUserGroups ограничивается, кому разрешён вход через Dex.
  • Через auth.defaultRole и auth.groupRoleMapping назначаются роли NeuVector аутентифицированным пользователям.

Если локальный пользователь NeuVector нужен в качестве запасного входа, создайте его через UI или REST API NeuVector после первого OIDC-входа.

Вход из веб-консоли Deckhouse

Веб-консоль Deckhouse управляет политиками WAF и DLP модуля NeuVector из собственного интерфейса. Для этого её бэкенд выполняет вход пользователя в NeuVector по токену, который у пользователя уже есть, через эндпоинт контроллера POST /v1/token-exchange, а не отправляет браузер в ещё один редирект.

Роли на этом пути назначаются по claim groups предъявленного токена, а Dex фильтрует claim по allowedGroups того клиента, который проводил вход, — здесь им является консоль. Поэтому группа, не разрешённая консолью, до параметра auth.groupRoleMapping не доходит, и один и тот же пользователь может получить разные роли в зависимости от пути входа. Следите за тем, чтобы все группы, используемые в auth.groupRoleMapping, присутствовали и в параметре console.auth.allowedUserGroups модуля консоли.

Доступ к REST API контроллера

Чтобы выставить REST API контроллера NeuVector (порт 10443) наружу, включите controller.apiIngress.enable. Ingress публикуется на https://neuvector-api.<publicDomainTemplate>/ и проксирует запросы в контроллер. Аутентификацию выполняет сам NeuVector: получите токен через POST /v1/auth и передавайте его в заголовке X-Auth-Token. При необходимости ограничьте доступ по IP через controller.apiIngress.whitelistSourceRanges.

Проброс событий безопасности из Deckhouse

NeuVector может отображать события безопасности платформы — срабатывания Falco, попытки входа в Dex, аудит KubeVirt и сбои проверки целостности containerd — в собственном UI рядом с событиями от enforcer-ов. События проходят через стандартный pipeline NeuVector (UI, syslog, webhook).

Внутри модуля всегда запускается sidecar se-bridge в каждом поде контроллера — он принимает события от LogShipper и пишет их во внутренний KV-стор NeuVector. Сама пересылка управляется параметром seBridgeEnabled в модуле loki. Пока параметр выключен, sidecar простаивает и ресурсов не потребляет.

Поддерживаемые источники: falco, dex, virtualization-audit, containerd-integrity. Каждый источник отображается в семантически подходящей вкладке NeuVector UI (Events / Security Events / Admission).

Интеграция безопасна для response rules: патч контроллера отключает действие Quarantine для событий с AgentID=se-bridge, поэтому wildcard-правила не сработают на внешние события.

Пересылка в syslog и webhook

События от se-bridge попадают в стандартные цепочки пересылки NeuVector.

  • Syslog. В дефолтной конфигурации включены категории Event, Runtime (сюда входят Violation, Threat, Incident) и Audit, то есть все три используемых канала форвардятся без дополнительных настроек. Если в UI NeuVector категории ограничены вручную, убедитесь что в списке включены те, куда попадают внешние события.
  • Webhook. Список категорий webhook по умолчанию пуст, поэтому внешние события в webhook не попадут, пока в конфигурации NeuVector явно не будут включены нужные категории (System Configuration → Webhooks). Это стандартное поведение NeuVector, не связанное с bridge.

Надёжность доставки

Доставка событий в NeuVector не даёт формальной гарантии at-least-once. Если контроллер NeuVector или сайдкар se-bridge становятся недоступны, LogShipper удерживает необработанные события в своём disk buffer на нодах. Буфер по умолчанию порядка 256 МБ; при устойчивом потоке в сотни событий в секунду длительный простой контроллера (десятки минут) может привести к тому, что буфер переполнится и часть событий будет потеряна для NeuVector.

События в Loki это не затрагивает — у каждого destination свой независимый буфер.

Чтобы снизить риск потерь, держите метрику vector_buffer_byte_size модуля log-shipper на дашборде и алертьте на устойчивое приближение к лимиту буфера. При необходимости увеличения буфера настройте параметр buffer в соответствующем ClusterLogDestination — см. документацию LogShipper.

Как явно включить или отключить модуль…

Явно включить или выключить модуль можно одним из следующих способов:

  • С помощью веб-интерфейса Deckhouse. В разделе «Система» → «Управление системой» → «Deckhouse» → «Модули» откройте модуль neuvector и включите (или выключите) переключатель «Модуль включен». Сохраните изменения.

    Пример:

    Интерфейс включения и выключения модуля
  • С помощью Deckhouse CLI (d8).

    Используйте команду d8 system module enable для включения модуля или d8 system module disable для выключения модуля (требуется Deckhouse CLI (d8), настроенный на работу с кластером).

    Пример включения модуля neuvector:

    d8 system module enable neuvector
  • С помощью ModuleConfig neuvector.

    Установите spec.enabled в true или false в ModuleConfig neuvector (при необходимости создайте его).

    Пример манифеста для включения модуля neuvector:

    apiVersion: deckhouse.io/v1alpha1
    kind: ModuleConfig
    metadata:
      name: neuvector
    spec:
      enabled: true

Как настроить модуль…

Настроить модуль можно одним из следующих способов:

  • С помощью веб-интерфейса Deckhouse.

    В разделе «Система» → «Управление системой» → «Deckhouse» → «Модули» откройте модуль neuvector и включите переключатель «Дополнительные настройки». Заполните необходимые поля формы на вкладке «Конфигурация» или укажите настройки модуля в формате YAML на вкладке «YAML» без ключа верхнего уровня settings. Сохраните изменения.

    Пример:

    Интерфейс настройки модуля

    Вы также можете отредактировать объект ModuleConfig neuvector на вкладке «YAML» в окне настроек модуля («Система» → «Управление системой» → «Deckhouse» → «Модули», откройте модуль neuvector), указав версию схемы в параметре spec.version и необходимые параметры модуля в секции spec.settings.

  • С помощью Deckhouse CLI (d8) (требуется Deckhouse CLI (d8), настроенный на работу с кластером).

    Отредактируйте существующий ModuleConfig neuvector (подробнее о настройке Deckhouse Platform читайте в документации), выполнив следующую команду:

    d8 k edit mc neuvector

    Внесите необходимые изменения в секцию spec.settings. При необходимости укажите версию схемы в параметре spec.version. Сохраните изменения.

    Вы также можете создать файл манифеста ModuleConfig neuvector, используя пример ниже. Заполните секцию spec.settings необходимыми параметрами модуля. При необходимости укажите версию схемы в параметре spec.version.

    Примените манифест с помощью следующей команды (укажите имя файла манифеста):

    d8 k apply -f <FILENAME>

    Пример файла манифеста ModuleConfig neuvector:

    apiVersion: deckhouse.io/v1alpha1
    kind: ModuleConfig
    metadata:
      name: neuvector
    spec:
      version: 1
      enabled: true
      settings: # Параметры модуля из раздела «Параметры» ниже.

Как сменить канал обновлений модуля…

Чтобы сменить канал обновлений модуля, выполните действия из раздела Как сменить канал обновлений для модуля?.

Требования

К версии Deckhouse Platform: 1.74 и выше.

Параметры

Версия схемы: 1

  • settings
    объект
    • settings.auth
      объект
      Параметры, связанные с аутентификацией или авторизацией в приложении.

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

      • settings.auth.allowedUserEmails
        массив строк

        Список email-адресов пользователей, которым разрешена аутентификация через Dex.

        Используется только при включённом модуле user-authn. Передаётся в поле spec.allowedEmails ресурса DexClient.

      • settings.auth.allowedUserGroups
        массив строк

        Список групп пользователей, которым разрешена аутентификация через Dex.

        Используется только при включённом модуле user-authn. Передаётся в поле spec.allowedGroups ресурса DexClient.

        Внимание! Эти же группы нужно добавить в соответствующее поле конфигурации DexProvider.

      • settings.auth.defaultRole
        строка

        Роль NeuVector, которая назначается OIDC-пользователям, если ни одна запись groupRoleMapping не подошла.

        Встроенные роли: admin, reader, ciops, none, fedAdmin, fedReader. Также можно указать имя кастомной роли, определённой в NeuVector через roleinitcfg.yaml.

        Особенности:

        • none — роль не выдаётся; неотмаппленный пользователь не сможет войти.
        • fedAdmin / fedReader имеют смысл только на master-кластере federation.
        • ciops предназначена для CI/CD-ботов, которые публикуют результаты сканов; не для людей-администраторов.

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

        Примеры:

        defaultRole: admin
        
        defaultRole: reader
        
        defaultRole: ciops
        
        defaultRole: none
        
        defaultRole: fedAdmin
        
        defaultRole: fedReader
        
      • settings.auth.groupRoleMapping
        массив объектов
        Маппинг групп IdP (из claim groups) в роли NeuVector. Порядок имеет значение: применяется первое подходящее соответствие. Независим от auth.allowedUserGroups — тот ограничивает вход через Dex, а groupRoleMapping отвечает за роль внутри NeuVector.

        По умолчанию: []

        Пример:

        groupRoleMapping:
        - globalRole: admin
          group: neuvector-admins
        - globalRole: none
          group: developers
          roleDomains:
            admin:
            - dev-team-a
            - dev-team-b
            reader:
            - staging
        
        • settings.auth.groupRoleMapping.globalRole
          строка

          Глобальная роль NeuVector, назначаемая всем участникам группы group.

          Встроенные роли: admin, reader, ciops, none, fedAdmin, fedReader. Также допускается имя любой кастомной роли, определённой через roleinitcfg.yaml.

          Можно оставить пустым (или указать none), если нужны только namespace-scoped роли через roleDomains. fedAdmin / fedReader валидны только на master-кластере federation.

          Примеры:

          globalRole: admin
          
          globalRole: reader
          
          globalRole: ciops
          
          globalRole: none
          
          globalRole: fedAdmin
          
          globalRole: fedReader
          
        • settings.auth.groupRoleMapping.group
          строка
          Имя группы IdP, с которым сравнивается значение из claim groups.
        • settings.auth.groupRoleMapping.roleDomains
          объект
          Карта namespace-scoped ролей: имя роли NeuVector → список namespace’ов. Пример: {admin: [staging], reader: [prod, default]}.
      • settings.auth.whitelistSourceRanges
        массив строк
        Список CIDR, которым разрешён доступ к веб-консоли NeuVector.

        Пример:

        whitelistSourceRanges:
        - 1.1.1.1/32
        
    • settings.controller
      объект

      Конфигурация компонента контроллера NeuVector.

      Контроллер управляет политиками, организует применение правил и предоставляет REST API.

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

      • settings.controller.apiIngress
        объект

        Опциональный Ingress, выставляющий REST API контроллера NeuVector (порт 10443) наружу из кластера.

        Ingress создаётся на отдельном hostname neuvector-api.<publicDomainTemplate> и проксирует запросы в REST API контроллера. Аутентификация обеспечивается самим NeuVector (токен через /v1/auth).

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

        • settings.controller.apiIngress.enable
          булевый
          Включить Ingress для REST API контроллера.

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

        • settings.controller.apiIngress.whitelistSourceRanges
          массив строк
          Список CIDR, которым разрешён доступ к REST API контроллера.

          Пример:

          whitelistSourceRanges:
          - 1.1.1.1/32
          
      • settings.controller.nodeSelector
        объект

        Структура, аналогичная spec.nodeSelector пода Kubernetes.

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

        Пример:

        disktype: ssd
        
      • settings.controller.resourcesManagement
        объект

        Запросы и лимиты CPU и памяти для контейнера контроллера.

        Приведённые значения применяются как обычные запросы и лимиты, если модуль vertical-pod-autoscaler отключён.

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

        Примеры:

        mode: VPA
        vpa:
          cpu:
            max: 1000m
            min: 200m
          memory:
            limitRatio: 4
            max: 3Gi
            min: 1Gi
          mode: InPlaceOrRecreate
        
        mode: Static
        static:
          limits:
            memory: 3Gi
          requests:
            cpu: 200m
            memory: 1Gi
        
        • settings.controller.resourcesManagement.mode
          строка

          Режим управления ресурсами:

          • Static — классический, запросы и лимиты задаются явно в секции static;
          • VPA — используется VPA, настраивается в секции vpa.

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

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

        • settings.controller.resourcesManagement.static
          объект
          Параметры управления ресурсами для режима Static.
          • settings.controller.resourcesManagement.static.limits
            объект
            Лимиты ресурсов контейнера.
            • settings.controller.resourcesManagement.static.limits.cpu
              Лимит CPU.
            • settings.controller.resourcesManagement.static.limits.memory
              Лимит памяти.
          • settings.controller.resourcesManagement.static.requests
            объект
            Запросы ресурсов контейнера.
            • settings.controller.resourcesManagement.static.requests.cpu
              Запросы CPU.
            • settings.controller.resourcesManagement.static.requests.memory
              Запросы памяти.
        • settings.controller.resourcesManagement.vpa
          объект
          Параметры управления ресурсами для режима VPA.

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

          • settings.controller.resourcesManagement.vpa.cpu
            объект
            Настройки CPU.

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

            • settings.controller.resourcesManagement.vpa.cpu.limitRatio
              число

              Отношение лимита CPU к запросам CPU.

              Если параметр задан, лимит вычисляется от min. Если не задан, лимита CPU у контейнера нет — так модуль вёл себя до появления этого параметра.

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

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

            • settings.controller.resourcesManagement.vpa.cpu.min
              Минимальные запросы CPU, которые может выставить VPA. Также используются как запросы контейнера.

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

          • settings.controller.resourcesManagement.vpa.memory
            объект
            Настройки памяти.

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

            • settings.controller.resourcesManagement.vpa.memory.limitRatio
              число

              Отношение лимита памяти к запросам памяти.

              Значение по умолчанию воспроизводит лимит, который модуль выставлял до появления этого параметра.

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

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

              По умолчанию: 3Gi

            • settings.controller.resourcesManagement.vpa.memory.min
              Минимальные запросы памяти, которые может выставить VPA. Также используются как запросы контейнера.

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

          • settings.controller.resourcesManagement.vpa.mode
            строка

            Режим работы VPA.

            • Initial — VPA задаёт значения при создании пода и в дальнейшем их не меняет.
            • InPlaceOrRecreate — VPA меняет запущенный под, если кластер это поддерживает, и иначе пересоздаёт его.
            • Auto — VPA пересоздаёт поды для применения новых значений. С версии Deckhouse 1.75 считается устаревшим.

            Любой режим, кроме Initial, может перезапустить компонент средства защиты.

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

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

      • settings.controller.storageClass

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

        Если значение не указано, будет использоваться StorageClass, определённый в глобальном параметре storageClass.

        Глобальный параметр storageClass учитывается только при включённом модуле. Изменение глобального параметра storageClass во время работы модуля не приведёт к переподключению дисков.

        Внимание. Указание значения, отличного от текущего (используемого в существующем PVC), приведёт к переподключению дисков и удалению всех данных.

        Если указано false, будет принудительно использоваться emptyDir.

        Примеры:

        storageClass: false
        
        storageClass: nfs-storage-class
        
      • settings.controller.tolerations
        массив объектов

        Структура, аналогичная spec.tolerations пода контроллера.

        Если ничего не указано или указано false, то Deckhouse попытается вычислить значение tolerations автоматически.

        • settings.controller.tolerations.effect
          строка
        • settings.controller.tolerations.key
          строка
        • settings.controller.tolerations.operator
          строка
        • settings.controller.tolerations.tolerationSeconds
          целое число
        • settings.controller.tolerations.value
          строка
    • settings.enforcer
      объект

      Настройки компонента enforcer модуля NeuVector.

      Enforcer работает на каждом узле и разбирает трафик рабочих нагрузок инлайн.

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

      • settings.enforcer.resourcesManagement
        объект

        Запросы и лимиты CPU и памяти для контейнера enforcer-а.

        Приведённые значения применяются как обычные запросы и лимиты, если модуль vertical-pod-autoscaler отключён.

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

        Примеры:

        mode: VPA
        vpa:
          cpu:
            max: 1000m
            min: 300m
          memory:
            limitRatio: 4
            max: 3Gi
            min: 1Gi
          mode: InPlaceOrRecreate
        
        mode: Static
        static:
          limits:
            memory: 3Gi
          requests:
            cpu: 300m
            memory: 1Gi
        
        • settings.enforcer.resourcesManagement.mode
          строка

          Режим управления ресурсами:

          • Static — классический, запросы и лимиты задаются явно в секции static;
          • VPA — используется VPA, настраивается в секции vpa.

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

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

        • settings.enforcer.resourcesManagement.static
          объект
          Параметры управления ресурсами для режима Static.
          • settings.enforcer.resourcesManagement.static.limits
            объект
            Лимиты ресурсов контейнера.
            • settings.enforcer.resourcesManagement.static.limits.cpu
              Лимит CPU.
            • settings.enforcer.resourcesManagement.static.limits.memory
              Лимит памяти.
          • settings.enforcer.resourcesManagement.static.requests
            объект
            Запросы ресурсов контейнера.
            • settings.enforcer.resourcesManagement.static.requests.cpu
              Запросы CPU.
            • settings.enforcer.resourcesManagement.static.requests.memory
              Запросы памяти.
        • settings.enforcer.resourcesManagement.vpa
          объект
          Параметры управления ресурсами для режима VPA.

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

          • settings.enforcer.resourcesManagement.vpa.cpu
            объект
            Настройки CPU.

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

            • settings.enforcer.resourcesManagement.vpa.cpu.limitRatio
              число

              Отношение лимита CPU к запросам CPU.

              Если параметр задан, лимит вычисляется от min. Если не задан, лимита CPU у контейнера нет — так модуль вёл себя до появления этого параметра.

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

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

            • settings.enforcer.resourcesManagement.vpa.cpu.min
              Минимальные запросы CPU, которые может выставить VPA. Также используются как запросы контейнера.

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

          • settings.enforcer.resourcesManagement.vpa.memory
            объект
            Настройки памяти.

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

            • settings.enforcer.resourcesManagement.vpa.memory.limitRatio
              число

              Отношение лимита памяти к запросам памяти.

              Значение по умолчанию воспроизводит лимит, который модуль выставлял до появления этого параметра.

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

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

              По умолчанию: 3Gi

            • settings.enforcer.resourcesManagement.vpa.memory.min
              Минимальные запросы памяти, которые может выставить VPA. Также используются как запросы контейнера.

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

          • settings.enforcer.resourcesManagement.vpa.mode
            строка

            Режим работы VPA.

            • Initial — VPA задаёт значения при создании пода и в дальнейшем их не меняет.
            • InPlaceOrRecreate — VPA меняет запущенный под, если кластер это поддерживает, и иначе пересоздаёт его.
            • Auto — VPA пересоздаёт поды для применения новых значений. С версии Deckhouse 1.75 считается устаревшим.

            Любой режим, кроме Initial, может перезапустить компонент средства защиты.

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

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

    • settings.gatewayAPI
      объект
      Публикация веб-интерфейсов модуля через Gateway API.

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

      • settings.gatewayAPI.enabled
        булевый

        Публиковать веб-консоль через Gateway API.

        Если параметр не задан, модуль следует глобальной настройке Gateway API. Объекты создаются, только если ресурсы Gateway API зарегистрированы в кластере и шлюз удаётся определить.

        Пример:

        enabled: false
        
    • settings.highAvailability
      булевый

      Ручное управление режимом отказоустойчивости.

      По умолчанию режим отказоустойчивости определяется автоматически. Подробнее про режим отказоустойчивости.

      Пример:

      highAvailability: true
      
    • settings.https
      объект

      Определяет тип сертификата, используемого с NeuVector.

      Этот параметр полностью переопределяет настройки global.modules.https.

      Примеры:

      customCertificate:
        secretName: foobar
      mode: CustomCertificate
      
      certManager:
        clusterIssuerName: letsencrypt
      mode: CertManager
      
      • settings.https.certManager
        объект
        • settings.https.certManager.clusterIssuerName
          строка
          Какой ClusterIssuer использовать для NeuVector. В настоящее время доступны letsencrypt, letsencrypt-staging, selfsigned; также можно определить собственный.

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

      • settings.https.customCertificate
        объект
        • settings.https.customCertificate.secretName
          строка
          Имя Secret в namespace d8-system, используемого с NeuVector (этот Secret должен иметь формат kubernetes.io/tls).

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

      • settings.https.mode
        строка

        Режим использования HTTPS:

        • CertManager — NeuVector будет использовать HTTPS и получать сертификат от ClusterIssuer, заданного в параметре certManager.clusterIssuerName;
        • CustomCertificate — NeuVector будет использовать сертификат из namespace d8-system для HTTPS;
        • Disabled — NeuVector не будет работать в этом режиме;
        • OnlyInURI — NeuVector будет работать по HTTP (предполагается, что внешний HTTPS load balancer завершает HTTPS-трафик). Все ссылки в user-authn будут сгенерированы с использованием схемы HTTPS. Load balancer должен обеспечивать редирект с HTTP на HTTPS.

        Допустимые значения: Disabled, CertManager, CustomCertificate, OnlyInURI

    • settings.ingress
      объект
      Публикация веб-интерфейсов модуля через Ingress.

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

      • settings.ingress.enabled
        булевый

        Публиковать веб-консоль и API контроллера через Ingress.

        Если параметр не задан, модуль следует глобальной настройке Ingress.

        Пример:

        enabled: false
        
    • settings.manager
      объект

      Настройки компонента manager модуля NeuVector.

      Веб-консоль проксирует все операции в REST API контроллера.

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

      • settings.manager.resourcesManagement
        объект

        Запросы и лимиты CPU и памяти для контейнера веб-консоли.

        Приведённые значения применяются как обычные запросы и лимиты, если модуль vertical-pod-autoscaler отключён.

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

        Примеры:

        mode: VPA
        vpa:
          cpu:
            max: 1000m
            min: 100m
          memory:
            limitRatio: 4
            max: 2Gi
            min: 1024Mi
          mode: InPlaceOrRecreate
        
        mode: Static
        static:
          limits:
            memory: 2Gi
          requests:
            cpu: 100m
            memory: 1024Mi
        
        • settings.manager.resourcesManagement.mode
          строка

          Режим управления ресурсами:

          • Static — классический, запросы и лимиты задаются явно в секции static;
          • VPA — используется VPA, настраивается в секции vpa.

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

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

        • settings.manager.resourcesManagement.static
          объект
          Параметры управления ресурсами для режима Static.
          • settings.manager.resourcesManagement.static.limits
            объект
            Лимиты ресурсов контейнера.
            • settings.manager.resourcesManagement.static.limits.cpu
              Лимит CPU.
            • settings.manager.resourcesManagement.static.limits.memory
              Лимит памяти.
          • settings.manager.resourcesManagement.static.requests
            объект
            Запросы ресурсов контейнера.
            • settings.manager.resourcesManagement.static.requests.cpu
              Запросы CPU.
            • settings.manager.resourcesManagement.static.requests.memory
              Запросы памяти.
        • settings.manager.resourcesManagement.vpa
          объект
          Параметры управления ресурсами для режима VPA.

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

          • settings.manager.resourcesManagement.vpa.cpu
            объект
            Настройки CPU.

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

            • settings.manager.resourcesManagement.vpa.cpu.limitRatio
              число

              Отношение лимита CPU к запросам CPU.

              Если параметр задан, лимит вычисляется от min. Если не задан, лимита CPU у контейнера нет — так модуль вёл себя до появления этого параметра.

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

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

            • settings.manager.resourcesManagement.vpa.cpu.min
              Минимальные запросы CPU, которые может выставить VPA. Также используются как запросы контейнера.

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

          • settings.manager.resourcesManagement.vpa.memory
            объект
            Настройки памяти.

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

            • settings.manager.resourcesManagement.vpa.memory.limitRatio
              число

              Отношение лимита памяти к запросам памяти.

              Значение по умолчанию воспроизводит лимит, который модуль выставлял до появления этого параметра.

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

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

              По умолчанию: 2Gi

            • settings.manager.resourcesManagement.vpa.memory.min
              Минимальные запросы памяти, которые может выставить VPA. Также используются как запросы контейнера.

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

          • settings.manager.resourcesManagement.vpa.mode
            строка

            Режим работы VPA.

            • Initial — VPA задаёт значения при создании пода и в дальнейшем их не меняет.
            • InPlaceOrRecreate — VPA меняет запущенный под, если кластер это поддерживает, и иначе пересоздаёт его.
            • Auto — VPA пересоздаёт поды для применения новых значений. С версии Deckhouse 1.75 считается устаревшим.

            Любой режим, кроме Initial, может перезапустить компонент средства защиты.

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

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

    • settings.scanner
      объект

      Настройки компонента scanner модуля NeuVector.

      Сканер анализирует образы и работающие контейнеры по локальной базе CVE.

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

      • settings.scanner.resourcesManagement
        объект

        Запросы и лимиты CPU и памяти для контейнера сканера.

        Приведённые значения применяются как обычные запросы и лимиты, если модуль vertical-pod-autoscaler отключён.

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

        Примеры:

        mode: VPA
        vpa:
          cpu:
            max: 1000m
            min: 200m
          memory:
            limitRatio: 4
            max: 3Gi
            min: 1Gi
          mode: InPlaceOrRecreate
        
        mode: Static
        static:
          limits:
            memory: 3Gi
          requests:
            cpu: 200m
            memory: 1Gi
        
        • settings.scanner.resourcesManagement.mode
          строка

          Режим управления ресурсами:

          • Static — классический, запросы и лимиты задаются явно в секции static;
          • VPA — используется VPA, настраивается в секции vpa.

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

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

        • settings.scanner.resourcesManagement.static
          объект
          Параметры управления ресурсами для режима Static.
          • settings.scanner.resourcesManagement.static.limits
            объект
            Лимиты ресурсов контейнера.
            • settings.scanner.resourcesManagement.static.limits.cpu
              Лимит CPU.
            • settings.scanner.resourcesManagement.static.limits.memory
              Лимит памяти.
          • settings.scanner.resourcesManagement.static.requests
            объект
            Запросы ресурсов контейнера.
            • settings.scanner.resourcesManagement.static.requests.cpu
              Запросы CPU.
            • settings.scanner.resourcesManagement.static.requests.memory
              Запросы памяти.
        • settings.scanner.resourcesManagement.vpa
          объект
          Параметры управления ресурсами для режима VPA.

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

          • settings.scanner.resourcesManagement.vpa.cpu
            объект
            Настройки CPU.

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

            • settings.scanner.resourcesManagement.vpa.cpu.limitRatio
              число

              Отношение лимита CPU к запросам CPU.

              Если параметр задан, лимит вычисляется от min. Если не задан, лимита CPU у контейнера нет — так модуль вёл себя до появления этого параметра.

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

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

            • settings.scanner.resourcesManagement.vpa.cpu.min
              Минимальные запросы CPU, которые может выставить VPA. Также используются как запросы контейнера.

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

          • settings.scanner.resourcesManagement.vpa.memory
            объект
            Настройки памяти.

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

            • settings.scanner.resourcesManagement.vpa.memory.limitRatio
              число

              Отношение лимита памяти к запросам памяти.

              Значение по умолчанию воспроизводит лимит, который модуль выставлял до появления этого параметра.

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

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

              По умолчанию: 3Gi

            • settings.scanner.resourcesManagement.vpa.memory.min
              Минимальные запросы памяти, которые может выставить VPA. Также используются как запросы контейнера.

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

          • settings.scanner.resourcesManagement.vpa.mode
            строка

            Режим работы VPA.

            • Initial — VPA задаёт значения при создании пода и в дальнейшем их не меняет.
            • InPlaceOrRecreate — VPA меняет запущенный под, если кластер это поддерживает, и иначе пересоздаёт его.
            • Auto — VPA пересоздаёт поды для применения новых значений. С версии Deckhouse 1.75 считается устаревшим.

            Любой режим, кроме Initial, может перезапустить компонент средства защиты.

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

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