Kyverno#

Kyverno - нативный движок политик Kubernetes, функционирующий в качестве альтернативы Open Policy Agent (OPA/Gatekeeper). Позволяет декларативно описывать, применять и администрировать политики безопасности и управления стандартными YAML-манифестами, исключая необходимость освоения предметно-ориентированных языков (например, Rego).

Основные задачи и возможности
  • Позволяет выполнять валидацию, изменение и генерацию ресурсов:

    • Блокировать создание ресурсов, нарушающих политики.

    • Автоматически добавлять метки, аннотации или настройки (например, securityContext).

    • Генерировать новые ресурсы (например, NetworkPolicy или RoleBinding) при создании других.

  • Описывает политики в декларативном YAML-синтаксисе в стиле Kubernetes без требования изучения специализированных языков, что упрощает разработку, код-ревью и интеграцию в GitOps-процессы.

  • Функционирует как динамический validating и mutating webhook, перехватывающий запросы к API-серверу и применяющий политики синхронно с жизненным циклом ресурсов.

  • Выполняет аудит уже развернутых объектов в кластере с выявлением отклонений от установленных политик.

  • Поддерживает горизонтальное масштабирование политик на несколько кластеров с особой эффективностью в связке с Argo CD.

  • Фиксирует события политик и результаты проверок в стандартных событиях Kubernetes и логах для последующего анализа.

Примечание

Kyverno не является инструментом по умолчанию в компоненте Security. Его можно установить как инструмент (Tool) или явно включить в список spec.tools при установке компонента Security.

Все системные пространства имен DropApp добавлены в исключения для политик Kyverno.

Конфигурация values#

Параметры Kyverno можно переопределить через редактирование нужных значений в spec.values. Общее описание конфигурации values для инструментов приведено в разделе «Конфигурации инструментов дополнительных компонентов».

templating - определить внутренние параметры генерации install manifest через helm template#

Параметр

Описание

Значение по умолчанию

templating.enabled

Включает режим шаблонизации для генерации внутренних манифестов

false

templating.debug

Включение отладочного режима шаблонизации

false

templating.version

Версия шаблонизатора (для внутренних манифестов, не требует изменения)

~

nameOverride - определить сокращенное переопределение имени chart#

Параметр

Описание

Значение по умолчанию

nameOverride

Переопределяет базовое имя chart

~

fullnameOverride - определить полное переопределение имени ресурсов#

Параметр

Описание

Значение по умолчанию

fullnameOverride

Полностью переопределяет итоговое имя ресурсов chart

~

namespaceOverride - определить переопределение namespace для chart#

Параметр

Описание

Значение по умолчанию

namespaceOverride

Переопределяет namespace, в который разворачивается chart

~

upgrade - определить ограничения и поведение при обновлении chart#

Параметр

Описание

Значение по умолчанию

upgrade.fromV2

Разрешение обновления с версии 2.x до 3.x (требует ручного подтверждения из-за несовместимых изменений)

false

apiVersionOverride - определить принудительное переопределение API версий ресурсов#

Параметр

Описание

Значение по умолчанию

apiVersionOverride.podDisruptionBudget

Принудительное указание API-версии для ресурса PodDisruptionBudget

~

rbac - определить настройки RBAC и агрегации ролей#

Параметр

Описание

Значение по умолчанию

rbac.roles.aggregate.admin

Агрегировать ClusterRole в стандартную пользовательскую роль admin Kubernetes

true

rbac.roles.aggregate.view

Агрегировать ClusterRole в стандартную пользовательскую роль view Kubernetes

true

crds - определить настройки установки и миграции CRD Kyverno#

Параметр

Описание

Значение по умолчанию

crds.install

Установка CRD через Helm (при отключении требуется предварительная установка вручную)

true

crds.reportsServer.enabled

Учитывать использование Kyverno reports-server в кластере

false

crds.groups.kyverno.cleanuppolicies

Установка CRD CleanupPolicy для политик очистки

true

crds.groups.kyverno.clustercleanuppolicies

Установка CRD ClusterCleanupPolicy для кластерных политик очистки

true

crds.groups.kyverno.clusterpolicies

Установка CRD ClusterPolicy для кластерных политик

true

crds.groups.kyverno.globalcontextentries

Установка CRD GlobalContextEntry для глобального контекста политик

true

crds.groups.kyverno.policies

Установка CRD Policy для пространственно-ограниченных политик

true

crds.groups.kyverno.policyexceptions

Установка CRD PolicyException для исключений из политик

true

crds.groups.kyverno.updaterequests

Установка CRD UpdateRequest для отслеживания операций мутации существующих ресурсов

true

crds.groups.kyverno.validatingpolicies

Установка CRD ValidatingPolicy в группе kyverno.io

true

crds.groups.policies.validatingpolicies

Установка CRD ValidatingPolicy в группе policies.kyverno.io

true

crds.groups.policies.policyexceptions

Установка CRD PolicyException в группе policies.kyverno.io

true

crds.groups.policies.imagevalidatingpolicies

Установка CRD ImageValidatingPolicy в группе policies.kyverno.io

true

crds.groups.reports.clusterephemeralreports

Установка CRD ClusterEphemeralReport для временных кластерных отчетов

true

crds.groups.reports.ephemeralreports

Установка CRD EphemeralReport для временных отчетов в пространствах имен

true

crds.groups.wgpolicyk8s.clusterpolicyreports

Установка CRD ClusterPolicyReport из спецификации Gatekeeper для агрегированных отчетов

true

crds.groups.wgpolicyk8s.policyreports

Установка CRD PolicyReport из спецификации Gatekeeper для пространственно-ограниченных отчетов

true

crds.annotations

Дополнительные аннотации для всех устанавливаемых CRD

{}

crds.customLabels

Пользовательские метки для всех устанавливаемых CRD

{}

crds.migration.enabled

Включает миграцию CRD через helm post-upgrade hook

true

crds.migration.resources

Список CRD-ресурсов, подлежащих миграции

- cleanuppolicies.kyverno.io
- clustercleanuppolicies.kyverno.io
- clusterpolicies.kyverno.io
- globalcontextentries.kyverno.io
- policies.kyverno.io
- policyexceptions.kyverno.io
- updaterequests.kyverno.io

crds.migration.image.registry

Реестр контейнерного образа для hook миграции CRD

'{{ .Values.global.image.registry }}'

crds.migration.image.defaultRegistry

Реестр по умолчанию для образа hook миграции CRD

'{{ .Values.global.image.registry }}'

crds.migration.image.repository

Репозиторий контейнерного образа для hook миграции CRD

"{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-kyverno/kyverno-cli"

crds.migration.image.tag

Тег контейнерного образа для hook миграции CRD

v1.14.5

crds.migration.image.pullPolicy

Политика загрузки образа для hook миграции CRD

IfNotPresent

crds.migration.imagePullSecrets

Список секретов для загрузки образов hook миграции CRD

[]

crds.migration.podSecurityContext

Pod security context для hook миграции CRD

{}

crds.migration.nodeSelector

Node selector для pod hook миграции CRD

{}

crds.migration.tolerations

Список tolerations для pod hook миграции CRD

[]

crds.migration.podAntiAffinity

Pod anti-affinity ограничения для hook миграции CRD

{}

crds.migration.podAffinity

Pod affinity ограничения для hook миграции CRD

{}

crds.migration.podLabels

Labels для pod hook миграции CRD

{}

crds.migration.podAnnotations

Аннотации для pod hook миграции CRD

{}

crds.migration.nodeAffinity

Node affinity ограничения для hook миграции CRD

{}

crds.migration.securityContext.runAsUser

UID пользователя контейнера hook миграции CRD

65534

crds.migration.securityContext.runAsGroup

GID группы контейнера hook миграции CRD

65534

crds.migration.securityContext.runAsNonRoot

Запускать контейнер hook миграции CRD от непривилегированного пользователя

true

crds.migration.securityContext.privileged

Запускать контейнер hook миграции CRD в привилегированном режиме

false

crds.migration.securityContext.allowPrivilegeEscalation

Разрешать повышение привилегий контейнеру hook миграции CRD

false

crds.migration.securityContext.readOnlyRootFilesystem

Монтировать корневую файловую систему контейнера hook миграции CRD только для чтения

true

crds.migration.securityContext.capabilities.drop

Список Linux capabilities, удаляемых у контейнера hook миграции CRD

- ALL

crds.migration.securityContext.seccompProfile.type

Тип seccomp-профиля для контейнера hook миграции CRD

RuntimeDefault

crds.migration.podResources.limits.cpu

CPU limit для pod hook миграции CRD

100m

crds.migration.podResources.limits.memory

Memory limit для pod hook миграции CRD

256Mi

crds.migration.podResources.requests.cpu

CPU request для pod hook миграции CRD

10m

crds.migration.podResources.requests.memory

Memory request для pod hook миграции CRD

64Mi

config - определить основную конфигурацию Kyverno#

Параметр

Описание

Значение по умолчанию

config.create

Создание ConfigMap с конфигурацией Kyverno

true

config.preserve

Сохранение существующих настроек ConfigMap при обновлении чарта

true

config.name

Имя существующего ConfigMap (требуется при config.create=false)

~

config.annotations

Дополнительные аннотации для конфигурации ConfigMap

{}

config.enableDefaultRegistryMutation

Автоматическая мутация образов контейнеров для использования реестра по умолчанию

true

config.defaultRegistry

Хост реестра по умолчанию для мутации образов

'{{ .Values.global.image.registry }}'

config.excludeGroups

Список групп пользователей, исключаемых из обработки политиками

- system:nodes

config.excludeUsernames

Список имен пользователей, исключаемых из обработки политиками

[]

config.excludeRoles

Список ролей, исключаемых из обработки политиками

[]

config.excludeClusterRoles

Список кластерных ролей, исключаемых из обработки политиками

[]

config.generateSuccessEvents

Генерация событий при успешном применении политик

false

config.resourceFilters

Список фильтров ресурсов, пропускаемых движком политик (формат: [тип, пространство_имен, имя])

- „[Event,*,*]“
- „[*/*,kube-system,*]“
- „[*/*,kube-public,*]“
- „[*/*,kube-node-lease,*]“
- „[*/*,dapp-logging,*]“
- „[*/*,dapp-system,*]“
- „[*/*,dapp-auth,*]“
- „[*/*,dapp-ui,*]“
- „[*/*,dapp-monitoring,*]“
- „[*/*,dapp-lb,*]“
- „[*/*,dapp-security,*]“
- „[*/*,dapp-alerting,*]“
- „[*/*,dapp-gitops,*]“
- „[*/*,dapp-devops,*]“
- „[*/*,dapp-certs,*]“
- „[*/*,dapp-ingress,*]“
- „[*/*,dapp-storage,*]“
- „[*/*,dapp-aiops,*]“
- „[*/*,dapp-ai-system,*]“
- „[*/*,dapp-ai-inference,*]“
- „[*/*,dapp-node-management,*]“
- „[Node,*,*]“
- „[Node/*,*,*]“
- „[APIService,*,*]“
- „[APIService/*,*,*]“
- „[TokenReview,*,*]“
- „[SubjectAccessReview,*,*]“
- „[SelfSubjectAccessReview,*,*]“
- „[Binding,*,*]“
- „[Pod/binding,*,*]“
- „[ReplicaSet,*,*]“
- „[ReplicaSet/*,*,*]“
- „[EphemeralReport,*,*]“
- „[ClusterEphemeralReport,*,*]“
- „[ClusterRole,*,]“
- „[ClusterRole,*,:core]“
- „[ClusterRole,*,:additional]“
- „[ClusterRole,*,]“
- „[ClusterRole,*,:core]“
- „[ClusterRole,*,:additional]“
- „[ClusterRole,*,]“
- „[ClusterRole,*,:core]“
- „[ClusterRole,*,:additional]“
- „[ClusterRole,*,]“
- „[ClusterRole,*,:core]“
- „[ClusterRole,*,:additional]“
- „[ClusterRoleBinding,*,]“
- „[ClusterRoleBinding,*,]“
- „[ClusterRoleBinding,*,]“
- „[ClusterRoleBinding,*,]“
- „[ServiceAccount,,]“
- „[ServiceAccount/*,,]“
- „[ServiceAccount,,]“
- „[ServiceAccount/*,,]“
- „[ServiceAccount,,]“
- „[ServiceAccount/*,,]“
- „[ServiceAccount,,]“
- „[ServiceAccount/*,,]“
- „[Role,,]“
- „[Role,,]“
- „[Role,,]“
- „[Role,,]“
- „[RoleBinding,,]“
- „[RoleBinding,,]“
- „[RoleBinding,,]“
- „[RoleBinding,,]“
- „[ConfigMap,,]“
- „[ConfigMap,,]“
- „[Deployment,,]“
- „[Deployment/*,,]“
- „[Deployment,,]“
- „[Deployment/*,,]“
- „[Deployment,,]“
- „[Deployment/*,,]“
- „[Deployment,,]“
- „[Deployment/*,,]“
- „[Pod,,-*]“
- „[Pod/*,,-*]“
- „[Pod,,-*]“
- „[Pod/*,,-*]“
- „[Pod,,-*]“
- „[Pod/*,,-*]“
- „[Pod,,-*]“
- „[Pod/*,,-*]“
- „[Job,,-hook-pre-delete]“
- „[Job/*,,-hook-pre-delete]“
- „[NetworkPolicy,,]“
- „[NetworkPolicy/*,,]“
- „[NetworkPolicy,,]“
- „[NetworkPolicy/*,,]“
- „[NetworkPolicy,,]“
- „[NetworkPolicy/*,,]“
- „[NetworkPolicy,,]“
- „[NetworkPolicy/*,,]“
- „[PodDisruptionBudget,,]“
- „[PodDisruptionBudget/*,,]“
- „[PodDisruptionBudget,,]“
- „[PodDisruptionBudget/*,,]“
- „[PodDisruptionBudget,,]“
- „[PodDisruptionBudget/*,,]“
- „[PodDisruptionBudget,,]“
- „[PodDisruptionBudget/*,,]“
- „[Service,,]“
- „[Service/*,,]“
- „[Service,,-metrics]“
- „[Service/*,,-metrics]“
- „[Service,,-metrics]“
- „[Service/*,,-metrics]“
- „[Service,,]“
- „[Service/*,,]“
- „[Service,,-metrics]“
- „[Service/*,,-metrics]“
- „[Service,,-metrics]“
- „[Service/*,,-metrics]“
- „[ServiceMonitor,,]“
- „[ServiceMonitor,,]“
- „[ServiceMonitor,,]“
- „[ServiceMonitor,,]“
- „[Secret,,..svc.*]“
- „[Secret,,..svc.*]“
`

config.updateRequestThreshold

Пороговое значение общего количества запросов на обновление для политик мутации и генерации

1000

config.webhooks.namespaceSelector.matchExpressions

Правила селекции пространств имен для вебхуков (исключение системных пространств)

- key: kubernetes.io/metadata.name
operator: NotIn
values:
- «kube-system»
- «dapp-logging»
- «dapp-system»
- «dapp-auth»
- «dapp-ui»
- «dapp-monitoring»
- «dapp-lb»
- «dapp-security»
- «dapp-alerting»
- «dapp-gitops»
- «dapp-devops»
- «dapp-certs»
- «dapp-ingress»
- «dapp-storage»
- «dapp-gitops»
- «dapp-aiops»
- «dapp-ai-system»
- «dapp-ai-inference»
- «dapp-node-management»

config.webhookAnnotations

Аннотации для конфигураций вебхуков ValidatingWebhookConfiguration/MutatingWebhookConfiguration

{"admissions.enforcer/disabled": "true"}

config.webhookLabels

Метки для конфигураций вебхуков

{}

config.matchConditions

Условия сопоставления для вебхуков (требуется Kubernetes 1.27+)

[]

config.excludeKyvernoNamespace

Автоматическое исключение пространства имен Kyverno из обработки политиками и фильтров

true

config.resourceFiltersExcludeNamespaces

Дополнительные пространства имен для исключения из фильтров ресурсов

[]

config.resourceFiltersExclude

Дополнительные элементы для исключения из списка фильтров ресурсов

[]

config.resourceFiltersIncludeNamespaces

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

[]

config.resourceFiltersInclude

Дополнительные элементы для включения в список фильтров ресурсов

[]

metricsConfig - определить конфигурацию метрик Kyverno#

Параметр

Описание

Значение по умолчанию

metricsConfig.create

Создание ConfigMap с конфигурацией метрик

true

metricsConfig.name

Имя существующего ConfigMap метрик (требуется при metricsConfig.create=false)

~

metricsConfig.annotations

Аннотации для ConfigMap-конфигурации метрик

{}

metricsConfig.namespaces.include

Список пространств имен для сбора метрик

[]

metricsConfig.namespaces.exclude

Список пространств имен, исключаемых из сбора метрик

[]

metricsConfig.metricsRefreshInterval

Интервал сброса метрик для очистки памяти (не работает в Kyverno 1.8.0+)

~

metricsConfig.bucketBoundaries

Границы бакетов для гистограммных метрик (требует перезапуска контроллера)

- 0.005
- 0.01
- 0.025
- 0.05
- 0.1
- 0.25
- 0.5
- 1
- 2.5
- 5
- 10
- 15
- 20
- 25
- 30

metricsConfig.metricsExposure.kyverno_policy_execution_duration_seconds.disabledLabelDimensions

Отключенные измерения метки для метрики длительности выполнения политик

- «resource_namespace»
- «resource_request_operation»

metricsConfig.metricsExposure.kyverno_admission_review_duration_seconds.disabledLabelDimensions

Отключенные измерения метки для метрики длительности проверки допуска

- "resource_namespace"

metricsConfig.metricsExposure.kyverno_policy_rule_info_total.disabledLabelDimensions

Отключенные измерения метки для метрики информации о правилах политик

- «resource_namespace»
- «policy_namespace»

metricsConfig.metricsExposure.kyverno_policy_results_total.disabledLabelDimensions

Отключенные измерения метки для метрики результатов применения политик

- «resource_namespace»
- «policy_namespace»

metricsConfig.metricsExposure.kyverno_admission_requests_total.disabledLabelDimensions

Отключенные измерения метки для метрики запросов на допуск

- "resource_namespace"

metricsConfig.metricsExposure.kyverno_cleanup_controller_deletedobjects_total.disabledLabelDimensions

Отключенные измерения метки для метрики удаленных объектов контроллером очистки

- «resource_namespace»
- «policy_namespace»

imagePullSecrets - определить image pull secrets для image verification policies#

Параметр

Описание

Значение по умолчанию

imagePullSecrets

Словарь секретов для image verification policies, формирующий аргумент --imagePullSecrets

{}

existingImagePullSecrets - определить существующие image pull secrets для image verification policies#

Параметр

Описание

Значение по умолчанию

existingImagePullSecrets

Список существующих секретов Kubernetes для аутентификации в реестрах при верификации образов

[]

test - определить настройки тестовых pod’ов chart#

Параметр

Описание

Значение по умолчанию

test.sleep

Время ожидания перед запуском тестовых проверок после установки

20

test.image.registry

Реестр образа тестового контейнера

'{{ .Values.global.image.registry }}'

test.image.repository

Репозиторий образа Curl для тестовых проверок

'{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-curl/curl'

test.image.tag

Версия образа Curl

'7.76.1'

test.image.pullPolicy

Политика загрузки образа тестового контейнера

~

test.imagePullSecrets

Секреты для загрузки образа тестового контейнера

[]

test.resources.limits.cpu

Лимит CPU для тестового контейнера

100m

test.resources.limits.memory

Лимит памяти для тестового контейнера

256Mi

test.resources.requests.cpu

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

10m

test.resources.requests.memory

Запрашиваемая память для тестового контейнера

64Mi

test.securityContext.runAsUser

ID пользователя для тестового контейнера

65534

test.securityContext.runAsGroup

ID группы для тестового контейнера

65534

test.securityContext.runAsNonRoot

Запрет запуска тестового контейнера от root

true

test.securityContext.privileged

Привилегированный режим тестового контейнера

false

test.securityContext.allowPrivilegeEscalation

Разрешение эскалации привилегий в тестовом контейнере

false

test.securityContext.readOnlyRootFilesystem

Корневая ФС тестового контейнера «только для чтения»

true

test.securityContext.capabilities.drop

Отброшенные возможности тестового контейнера

- ALL

test.securityContext.seccompProfile.type

Профиль seccomp для тестового контейнера

RuntimeDefault

customLabels - определить дополнительные labels для ресурсов chart#

Параметр

Описание

Значение по умолчанию

customLabels

Дополнительные labels для ресурсов chart

{}

webhooksCleanup - определить настройки очистки webhook ресурсов при удалении chart#

Параметр

Описание

Значение по умолчанию

webhooksCleanup.enabled

Создание хука pre-delete для автоматической очистки вебхуков при удалении чарта

true

webhooksCleanup.autoDeleteWebhooks.enabled

Разрешение контроллеру вебхуков удалять вебхуки с использованием финализаторов

false

webhooksCleanup.image.registry

Реестр образа Kubectl для очистки вебхуков

'{{ .Values.global.image.registry }}'

webhooksCleanup.image.repository

Репозиторий образа Kubectl

'{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-kubernetes/kubectl'

webhooksCleanup.image.tag

Версия образа Kubectl

'v1.29.15'

webhooksCleanup.image.pullPolicy

Политика загрузки образа Kubectl

~

webhooksCleanup.imagePullSecrets

Секреты для загрузки образа Kubectl

[]

webhooksCleanup.podSecurityContext

Контекст безопасности pod для хука очистки

{}

webhooksCleanup.nodeSelector

Селекторы узлов для pod хука очистки

{}

webhooksCleanup.tolerations

Taint узлов для pod хука очистки

[]

webhooksCleanup.podAntiAffinity

Анти-аффинности для pod хука очистки

{}

webhooksCleanup.podAffinity

Аффинности для pod хука очистки

{}

webhooksCleanup.podLabels

Метки pod хука очистки

{}

webhooksCleanup.podAnnotations

Аннотации pod хука очистки

{}

webhooksCleanup.nodeAffinity

Аффинности узлов для pod хука очистки

{}

webhooksCleanup.securityContext.runAsUser

ID пользователя контейнера хука очистки

65534

webhooksCleanup.securityContext.runAsGroup

ID группы контейнера хука очистки

65534

webhooksCleanup.securityContext.runAsNonRoot

Запрет запуска от root для контейнера хука очистки

true

webhooksCleanup.securityContext.privileged

Привилегированный режим контейнера хука очистки

false

webhooksCleanup.securityContext.allowPrivilegeEscalation

Эскалация привилегий в контейнере хука очистки

false

webhooksCleanup.securityContext.readOnlyRootFilesystem

Корневая ФС контейнера хука очистки «только для чтения»

true

webhooksCleanup.securityContext.capabilities.drop

Отброшенные возможности контейнера хука очистки

- ALL

webhooksCleanup.securityContext.seccompProfile.type

Профиль seccomp-контейнера хука очистки

RuntimeDefault

webhooksCleanup.resources.limits.cpu

CPU limit для pod хука очистки

100m

webhooksCleanup.resources.limits.memory

Memory limit для pod хука очистки

256Mi

webhooksCleanup.resources.requests.cpu

CPU request для pod хука очистки

10m

webhooksCleanup.resources.requests.memory

Memory request для pod хука очистки

64Mi

policyReportsCleanup - определить настройки очистки старых policy reports#

Параметр

Описание

Значение по умолчанию

policyReportsCleanup.enabled

Создание хука post-upgrade для очистки устаревших отчетов политик

true

policyReportsCleanup.image.registry

Реестр образа Kubectl для очистки отчетов

'{{ .Values.global.image.registry }}'

policyReportsCleanup.image.repository

Репозиторий образа Kubectl

'{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-kubernetes/kubectl'

policyReportsCleanup.image.tag

Версия образа Kubectl

'v1.29.15'

policyReportsCleanup.image.pullPolicy

Политика загрузки образа Kubectl

~

policyReportsCleanup.imagePullSecrets

Секреты для загрузки образа Kubectl

[]

policyReportsCleanup.podSecurityContext

Контекст безопасности pod для хука очистки отчетов

{}

policyReportsCleanup.nodeSelector

Селекторы узлов для pod хука очистки отчетов

{}

policyReportsCleanup.tolerations

Taint узлов для pod хука очистки отчетов

[]

policyReportsCleanup.podAntiAffinity

Анти-аффинности для pod хука очистки отчетов

{}

policyReportsCleanup.podAffinity

Аффинности для pod хука очистки отчетов

{}

policyReportsCleanup.podLabels

Метки pod хука очистки отчетов

{}

policyReportsCleanup.podAnnotations

Аннотации pod хука очистки отчетов

{}

policyReportsCleanup.nodeAffinity

Аффинности узлов для pod хука очистки отчетов

{}

policyReportsCleanup.securityContext.runAsUser

ID пользователя контейнера хука очистки отчетов

65534

policyReportsCleanup.securityContext.runAsGroup

ID группы контейнера хука очистки отчетов

65534

policyReportsCleanup.securityContext.runAsNonRoot

Запрет запуска от root для контейнера хука очистки отчетов

true

policyReportsCleanup.securityContext.privileged

Привилегированный режим контейнера хука очистки отчетов

false

policyReportsCleanup.securityContext.allowPrivilegeEscalation

Эскалация привилегий в контейнере хука очистки отчетов

false

policyReportsCleanup.securityContext.readOnlyRootFilesystem

Корневая ФС контейнера хука очистки отчетов «только для чтения»

true

policyReportsCleanup.securityContext.capabilities.drop

Отброшенные возможности контейнера хука очистки отчетов

- ALL

policyReportsCleanup.securityContext.seccompProfile.type

Профиль seccomp-контейнера хука очистки отчетов

RuntimeDefault

policyReportsCleanup.resources.limits.cpu

CPU limit для pod хука очистки отчетов

100m

policyReportsCleanup.resources.limits.memory

Memory limit для pod хука очистки отчетов

256Mi

policyReportsCleanup.resources.requests.cpu

CPU request для pod хука очистки отчетов

10m

policyReportsCleanup.resources.requests.memory

Memory request для pod хука очистки отчетов

64Mi

grafana - определить настройки Grafana dashboard для Kyverno#

Параметр

Описание

Значение по умолчанию

grafana.enabled

Включение создания ConfigMap с панелью Grafana

false

grafana.configMapName

Шаблон имени ConfigMap для панели Grafana

'{{ include "kyverno.fullname" . }}-grafana'

grafana.namespace

Пространство имен для размещения ConfigMap панели (по умолчанию — пространство установки чарта)

~

grafana.annotations

Аннотации для ConfigMap панели Grafana

{}

grafana.labels.grafana_dashboard

Метки для ConfigMap панели Grafana

"1"

grafana.grafanaDashboard.create

Создание пользовательского ресурса GrafanaDashboard для оператора Grafana

false

grafana.grafanaDashboard.folder

Папка в Grafana для размещения панели

kyverno

grafana.grafanaDashboard.allowCrossNamespaceImport

Разрешение импорта панели из другого пространства имен

true

grafana.grafanaDashboard.matchLabels.dashboards

Метки для сопоставления с инстансом Grafana

"grafana"

features - определить включаемые функции Kyverno#

Параметр

Описание

Значение по умолчанию

features.admissionReports.enabled

Генерация отчетов о проверке допуска для каждого запроса к API-серверу

true

features.aggregateReports.enabled

Агрегация отчетов политик по кластеру и пространствам имен

true

features.policyReports.enabled

Генерация отчетов о применении политик (PolicyReport/ClusterPolicyReport)

true

features.validatingAdmissionPolicyReports.enabled

Генерация отчетов для валидирующих политик допуска (требуется Kubernetes 1.28+)

false

features.reporting.validate

Включение отчетности для политик валидации

true

features.reporting.mutate

Включение отчетности для политик мутации

true

features.reporting.mutateExisting

Включение отчетности для мутации существующих ресурсов

true

features.reporting.imageVerify

Включение отчетности для политик верификации образов

true

features.reporting.generate

Включение отчетности для политик генерации ресурсов

true

features.autoUpdateWebhooks.enabled

Автоматическое обновление конфигураций вебхуков при изменении политик

true

features.backgroundScan.enabled

Включение фонового сканирования существующих ресурсов на соответствие политикам

true

features.backgroundScan.backgroundScanWorkers

Количество воркеров для фонового сканирования

2

features.backgroundScan.backgroundScanInterval

Интервал между циклами фонового сканирования

1h

features.backgroundScan.skipResourceFilters

Пропуск фильтров ресурсов при фоновом сканировании

true

features.configMapCaching.enabled

Кеширование содержимого ConfigMap для ускорения обработки политик

true

features.controllerRuntimeMetrics.bindAddress

Адрес привязки для controller-runtime metrics; значение «0» отключает их

":8080"

features.deferredLoading.enabled

Отложенная загрузка политик для ускорения запуска контроллеров

true

features.dumpPayload.enabled

Вывод полезной нагрузки запросов в логи для отладки (потенциально чувствительные данные)

false

features.forceFailurePolicyIgnore.enabled

Принудительная установка FailurePolicy=Ignore для вебхуков

false

features.generateValidatingAdmissionPolicy.enabled

Генерация валидирующих политик допуска Kubernetes из политик Kyverno

false

features.dumpPatches.enabled

Вывод патчей мутации в логи для отладки

false

features.globalContext.maxApiCallResponseLength

Максимальный размер ответа от внешних API-вызовов в контексте политик (0 — без ограничения)

2000000

features.logging.format

Формат логирования (text или json)

text

features.logging.verbosity

Уровень детализации логов (1-6, где 6 — самый подробный)

2

features.omitEvents.eventTypes

Типы событий, которые не будут генерироваться (PolicyApplied, PolicySkipped, PolicyViolation, PolicyError)

- PolicyApplied
- PolicySkipped

features.policyExceptions.enabled

Включение поддержки исключений из политик через ресурс PolicyException

false

features.policyExceptions.namespace

Пространство имен для ограничения создания исключений политик (пусто — без ограничений, «*» — все пространства)

''

features.protectManagedResources.enabled

Защита ресурсов, управляемых Kyverno, от удаления или изменения

false

features.registryClient.allowInsecure

Разрешение небезопасных соединений с приватными реестрами образов

false

features.registryClient.credentialHelpers

Список помощников для аутентификации в реестрах (default, google, amazon, azure, github)

- default
- google
- amazon
- azure
- github

features.ttlController.reconciliationInterval

Интервал реконсиляции для контроллера очистки по TTL

1m

features.tuf.enabled

Включение поддержки The Update Framework (TUF) для безопасной верификации образов

false

features.tuf.root

Путь к корневому файлу TUF

~

features.tuf.rootRaw

Содержимое корневого файла TUF (raw-формат)

~

features.tuf.mirror

Зеркало для загрузки метаданных TUF

~

admissionController - определить настройки admission controller Kyverno#

Параметр

Описание

Значение по умолчанию

admissionController.autoscaling.enabled

Включает горизонтальное автомасштабирование admission controller

false

admissionController.autoscaling.minReplicas

Минимальное количество pod для autoscaling

1

admissionController.autoscaling.maxReplicas

Максимальное количество pod для autoscaling

10

admissionController.autoscaling.targetCPUUtilizationPercentage

Целевой процент загрузки CPU для HPA

80

admissionController.autoscaling.behavior

Конфигурация поведения autoscaling admission controller

{}

admissionController.featuresOverride.admissionReports.backPressureThreshold

Максимальное количество admission reports в обработке, после которого admission controller перестает создавать новые отчеты

1000

admissionController.rbac.create

Создавать RBAC-ресурсы для admission controller

true

admissionController.rbac.createViewRoleBinding

Создавать RoleBinding на роль view

true

admissionController.rbac.viewRoleName

Имя роли view, используемой в RoleBinding

view

admissionController.rbac.serviceAccount.name

Имя ServiceAccount для admission controller

``

admissionController.rbac.serviceAccount.annotations

Аннотации для ServiceAccount admission controller

{}

admissionController.rbac.coreClusterRole.extraResources

Дополнительные разрешения на ресурсы для core cluster role admission controller

[]

admissionController.rbac.clusterRole.extraResources

Дополнительные разрешения на ресурсы для cluster role admission controller

[]

admissionController.createSelfSignedCert

Создавать self-signed сертификаты во время deployment; при таком режиме сертификаты не продлеваются автоматически

false

admissionController.replicas

Желаемое количество pod admission controller

2

admissionController.revisionHistoryLimit

Количество сохраняемых ревизий Deployment admission controller

10

admissionController.resyncPeriod

Период resync для informer admission controller

15m

admissionController.crdWatcher

Включает или отключает watcher custom resources для инвалидации кеша

false

admissionController.podLabels

Дополнительные labels для каждого pod admission controller

{}

admissionController.podAnnotations

Дополнительные аннотации для каждого pod admission controller

{}

admissionController.annotations

Аннотации Deployment admission controller

{}

admissionController.updateStrategy.rollingUpdate.maxSurge

Максимальное количество дополнительных pod при rolling update admission controller

1

admissionController.updateStrategy.rollingUpdate.maxUnavailable

Максимальная доля недоступных pod при rolling update admission controller

40%

admissionController.updateStrategy.type

Тип стратегии обновления Deployment admission controller

RollingUpdate

admissionController.priorityClassName

Имя PriorityClass для pod admission controller

''

admissionController.apiPriorityAndFairness

Включает изоляцию API-вызовов admission controller через API Priority and Fairness для повышения стабильности в нагруженных кластерах

false

admissionController.priorityLevelConfigurationSpec.type

Тип PriorityLevelConfiguration для admission controller

Limited

admissionController.priorityLevelConfigurationSpec.limited.nominalConcurrencyShares

Количество nominal concurrency shares для PriorityLevelConfiguration

10

admissionController.priorityLevelConfigurationSpec.limited.limitResponse.queuing.queueLengthLimit

Максимальная длина очереди для limitResponse

50

admissionController.priorityLevelConfigurationSpec.limited.limitResponse.type

Тип limitResponse для PriorityLevelConfiguration

Queue

admissionController.hostNetwork

Запускать pod admission controller в сетевом пространстве хоста

false

admissionController.webhookServer.port

Порт webhook server admission controller

9443

admissionController.dnsPolicy

DNS policy для pod admission controller

ClusterFirst

admissionController.dnsConfig

Дополнительная DNS-конфигурация для pod admission controller

{}

admissionController.startupProbe.httpGet.path

HTTP path для startup probe admission controller

/health/liveness

admissionController.startupProbe.httpGet.port

Порт startup probe admission controller

9443

admissionController.startupProbe.httpGet.scheme

Схема запроса для startup probe admission controller

HTTPS

admissionController.startupProbe.failureThreshold

Количество неуспешных startup probe до признания запуска неудачным

20

admissionController.startupProbe.initialDelaySeconds

Задержка перед первой startup probe

2

admissionController.startupProbe.periodSeconds

Интервал между startup probe

6

admissionController.livenessProbe.httpGet.path

HTTP path для liveness probe admission controller

/health/liveness

admissionController.livenessProbe.httpGet.port

Порт liveness probe admission controller

9443

admissionController.livenessProbe.httpGet.scheme

Схема запроса для liveness probe admission controller

HTTPS

admissionController.livenessProbe.initialDelaySeconds

Задержка перед первой liveness probe

15

admissionController.livenessProbe.periodSeconds

Интервал между liveness probe

30

admissionController.livenessProbe.timeoutSeconds

Таймаут одной liveness probe

5

admissionController.livenessProbe.failureThreshold

Количество неуспешных liveness probe до перезапуска контейнера

2

admissionController.livenessProbe.successThreshold

Количество успешных liveness probe для признания результата успешным

1

admissionController.readinessProbe.httpGet.path

HTTP path для readiness probe admission controller

/health/readiness

admissionController.readinessProbe.httpGet.port

Порт readiness probe admission controller

9443

admissionController.readinessProbe.httpGet.scheme

Схема запроса для readiness probe admission controller

HTTPS

admissionController.readinessProbe.initialDelaySeconds

Задержка перед первой readiness probe

5

admissionController.readinessProbe.periodSeconds

Интервал между readiness probe

10

admissionController.readinessProbe.timeoutSeconds

Таймаут одной readiness probe

5

admissionController.readinessProbe.failureThreshold

Количество неуспешных readiness probe до перевода pod в состояние NotReady

6

admissionController.readinessProbe.successThreshold

Количество успешных readiness probe для признания результата успешным

1

admissionController.nodeSelector

Node selector для размещения pod admission controller

{}

admissionController.tolerations

Список tolerations для pod admission controller

[]

admissionController.antiAffinity.enabled

Включает pod anti-affinity для admission controller

true

admissionController.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution

Предпочтительные pod anti-affinity ограничения для admission controller

- weight: 1
podAffinityTerm:
labelSelector:
matchExpressions:
- key: app.kubernetes.io/component
operator: In
values:
- admission-controller
topologyKey: kubernetes.io/hostname

admissionController.podAffinity

Pod affinity ограничения для admission controller

{}

admissionController.nodeAffinity

Node affinity ограничения для admission controller

{}

admissionController.topologySpreadConstraints

Topology spread constraints для admission controller

[]

admissionController.podSecurityContext

Security context для pod admission controller

{}

admissionController.podDisruptionBudget.enabled

Включает PodDisruptionBudget для admission controller

false

admissionController.podDisruptionBudget.minAvailable

Минимальное количество доступных pod admission controller при disruptions

1

admissionController.podDisruptionBudget.maxUnavailable

Максимальное количество недоступных pod admission controller при disruptions

``

admissionController.tufRootMountPath

Путь для writable volume, используемого при инициализации TUF root

/.sigstore

admissionController.sigstoreVolume.emptyDir

Пустой том для работы TUF и cosign

{}

admissionController.caCertificates.data

Строка с CA-сертификатами для deployment admission controller

~

admissionController.caCertificates.volume

Volume для монтирования CA-сертификатов, если data не задано

{}

admissionController.imagePullSecrets

Список секретов для загрузки образов admission controller

[]

admissionController.initContainer.image.registry

Реестр контейнерного образа init container

'{{ .Values.global.image.registry }}'

admissionController.initContainer.image.defaultRegistry

Реестр по умолчанию для образа init container

'{{ .Values.global.image.registry }}'

admissionController.initContainer.image.repository

Репозиторий контейнерного образа init container

"{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-kyverno/kyvernopre"

admissionController.initContainer.image.tag

Тег контейнерного образа init container

v1.14.5

admissionController.initContainer.image.pullPolicy

Политика загрузки образа init container; если не задана, используется image.pullPolicy

~

admissionController.initContainer.resources.limits.cpu

CPU limit для init container

100m

admissionController.initContainer.resources.limits.memory

Memory limit для init container

256Mi

admissionController.initContainer.resources.requests.cpu

CPU request для init container

10m

admissionController.initContainer.resources.requests.memory

Memory request для init container

64Mi

admissionController.initContainer.securityContext.runAsNonRoot

Запускать init container от непривилегированного пользователя

true

admissionController.initContainer.securityContext.privileged

Запускать init container в привилегированном режиме

false

admissionController.initContainer.securityContext.allowPrivilegeEscalation

Разрешать повышение привилегий init container

false

admissionController.initContainer.securityContext.readOnlyRootFilesystem

Монтировать корневую файловую систему init container только для чтения

true

admissionController.initContainer.securityContext.capabilities.drop

Список Linux capabilities, удаляемых у init container

- ALL

admissionController.initContainer.securityContext.seccompProfile.type

Тип seccomp-профиля для init container

RuntimeDefault

admissionController.initContainer.extraArgs

Дополнительные аргументы командной строки для init container

{}

admissionController.initContainer.extraEnvVars

Дополнительные переменные окружения для init container

[]

admissionController.container.image.registry

Реестр контейнерного образа admission controller

'{{ .Values.global.image.registry }}'

admissionController.container.image.defaultRegistry

Реестр по умолчанию для образа admission controller

'{{ .Values.global.image.registry }}'

admissionController.container.image.repository

Репозиторий контейнерного образа admission controller

"{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-kyverno/kyverno"

admissionController.container.image.tag

Тег контейнерного образа admission controller

v1.14.5

admissionController.container.image.pullPolicy

Политика загрузки образа admission controller

IfNotPresent

admissionController.container.resources.limits.memory

Memory limit для контейнера admission controller

384Mi

admissionController.container.resources.requests.cpu

CPU request для контейнера admission controller

100m

admissionController.container.resources.requests.memory

Memory request для контейнера admission controller

128Mi

admissionController.container.securityContext.runAsNonRoot

Запускать контейнер admission controller от непривилегированного пользователя

true

admissionController.container.securityContext.privileged

Запускать контейнер admission controller в привилегированном режиме

false

admissionController.container.securityContext.allowPrivilegeEscalation

Разрешать повышение привилегий контейнеру admission controller

false

admissionController.container.securityContext.readOnlyRootFilesystem

Монтировать корневую файловую систему контейнера admission controller только для чтения

true

admissionController.container.securityContext.capabilities.drop

Список Linux capabilities, удаляемых у контейнера admission controller

- ALL

admissionController.container.securityContext.seccompProfile.type

Тип seccomp-профиля для контейнера admission controller

RuntimeDefault

admissionController.container.extraArgs

Дополнительные аргументы командной строки для контейнера admission controller

{}

admissionController.container.extraEnvVars

Дополнительные переменные окружения для контейнера admission controller

[]

admissionController.extraInitContainers

Дополнительные init containers для pod admission controller

[]

admissionController.extraContainers

Дополнительные контейнеры, запускаемые рядом с Kyverno admission controller

[]

admissionController.service.port

Порт Service admission controller

443

admissionController.service.type

Тип Service admission controller

ClusterIP

admissionController.service.nodePort

NodePort Service admission controller при типе NodePort

``

admissionController.service.annotations

Аннотации для Service admission controller

{}

admissionController.metricsService.create

Создавать Service для метрик admission controller

true

admissionController.metricsService.port

Порт Service метрик admission controller

8000

admissionController.metricsService.type

Тип Service метрик admission controller

ClusterIP

admissionController.metricsService.nodePort

NodePort Service метрик admission controller при типе NodePort

``

admissionController.metricsService.annotations

Аннотации для Service метрик admission controller

{}

admissionController.networkPolicy.enabled

Использовать NetworkPolicy для разрешения входящего трафика к webhook admission controller

false

admissionController.networkPolicy.ingressFrom

Список from selectors для NetworkPolicy admission controller

[]

admissionController.serviceMonitor.enabled

Создавать ServiceMonitor для сбора метрик admission controller

true

admissionController.serviceMonitor.additionalLabels

Дополнительные labels для ServiceMonitor admission controller

{}

admissionController.serviceMonitor.namespace

Namespace для создания ServiceMonitor admission controller

~

admissionController.serviceMonitor.interval

Интервал сбора метрик admission controller

30s

admissionController.serviceMonitor.scrapeTimeout

Таймаут получения метрик admission controller

25s

admissionController.serviceMonitor.secure

Требовать TLS для endpoint ServiceMonitor admission controller

false

admissionController.serviceMonitor.tlsConfig

TLS-конфигурация endpoint ServiceMonitor admission controller

{}

admissionController.serviceMonitor.relabelings

RelabelConfigs для ServiceMonitor admission controller

[]

admissionController.serviceMonitor.metricRelabelings

MetricRelabelConfigs для ServiceMonitor admission controller

[]

admissionController.tracing.enabled

Включает tracing для admission controller

false

admissionController.tracing.address

Адрес приемника traces для admission controller

``

admissionController.tracing.port

Порт приемника traces для admission controller

``

admissionController.tracing.creds

Учетные данные для приемника traces admission controller

''

admissionController.metering.disabled

Отключает экспорт метрик admission controller

false

admissionController.metering.config

Тип конфигурации metering, например prometheus или grpc

prometheus

admissionController.metering.port

Порт Prometheus endpoint для metering admission controller

8000

admissionController.metering.collector

Endpoint Otel collector для admission controller

''

admissionController.metering.creds

Учетные данные для Otel collector admission controller

''

admissionController.profiling.enabled

Включает profiling admission controller

false

admissionController.profiling.port

Порт profiling endpoint admission controller

6060

admissionController.profiling.serviceType

Тип Service для profiling admission controller

ClusterIP

admissionController.profiling.nodePort

NodePort profiling Service admission controller при типе NodePort

``

backgroundController - определить настройки background controller Kyverno#

Параметр

Описание

Значение по умолчанию

backgroundController.featuresOverride

Переопределения feature-настроек для background controller

{}

backgroundController.enabled

Включает background controller

true

backgroundController.rbac.create

Создавать RBAC-ресурсы для background controller

true

backgroundController.rbac.createViewRoleBinding

Создавать RoleBinding на роль view для background controller

true

backgroundController.rbac.viewRoleName

Имя view role, используемой в RoleBinding background controller

view

backgroundController.rbac.serviceAccount.name

Имя ServiceAccount для background controller

``

backgroundController.rbac.serviceAccount.annotations

Аннотации для ServiceAccount background controller

{}

backgroundController.rbac.coreClusterRole.extraResources

Дополнительные разрешения для core cluster role background controller

- apiGroups:
- networking.k8s.io
resources:
- ingresses
- ingressclasses
- networkpolicies
verbs:
- create
- update
- patch
- delete
- apiGroups:
- rbac.authorization.k8s.io
resources:
- rolebindings
- roles
verbs:
- create
- update
- patch
- delete
- apiGroups:
- „“
resources:
- configmaps
- resourcequotas
- limitranges
verbs:
- create
- update
- patch
- delete

backgroundController.rbac.clusterRole.extraResources

Дополнительные разрешения для cluster role background controller

[]

backgroundController.image.registry

Реестр контейнерного образа background controller

'{{ .Values.global.image.registry }}'

backgroundController.image.defaultRegistry

Реестр по умолчанию для образа background controller

'{{ .Values.global.image.registry }}'

backgroundController.image.repository

Репозиторий контейнерного образа background controller

"{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-kyverno/background-controller"

backgroundController.image.tag

Тег контейнерного образа background controller

v1.14.5

backgroundController.image.pullPolicy

Политика загрузки образа background controller

IfNotPresent

backgroundController.imagePullSecrets

Список секретов для загрузки образов background controller

[]

backgroundController.replicas

Желаемое количество pod background controller

~

backgroundController.revisionHistoryLimit

Количество сохраняемых ревизий Deployment background controller

10

backgroundController.resyncPeriod

Период resync для informer background controller

15m

backgroundController.podLabels

Дополнительные labels для каждого pod background controller

{}

backgroundController.podAnnotations

Дополнительные аннотации для каждого pod background controller

{}

backgroundController.annotations

Аннотации Deployment background controller

{}

backgroundController.updateStrategy.rollingUpdate.maxSurge

Максимальное количество дополнительных pod при rolling update background controller

1

backgroundController.updateStrategy.rollingUpdate.maxUnavailable

Максимальная доля недоступных pod при rolling update background controller

40%

backgroundController.updateStrategy.type

Тип стратегии обновления Deployment background controller

RollingUpdate

backgroundController.priorityClassName

Имя PriorityClass для pod background controller

''

backgroundController.hostNetwork

Запускать pod background controller в сетевом пространстве хоста

false

backgroundController.dnsPolicy

DNS policy для pod background controller

ClusterFirst

backgroundController.dnsConfig

Дополнительная DNS-конфигурация для pod background controller

{}

backgroundController.extraArgs

Дополнительные аргументы командной строки для background controller

{}

backgroundController.extraEnvVars

Дополнительные переменные окружения для background controller

[]

backgroundController.resources.limits.memory

Memory limit для background controller

128Mi

backgroundController.resources.requests.cpu

CPU request для background controller

100m

backgroundController.resources.requests.memory

Memory request для background controller

64Mi

backgroundController.nodeSelector

Node selector для pod background controller

{}

backgroundController.tolerations

Список tolerations для pod background controller

[]

backgroundController.antiAffinity.enabled

Включает pod anti-affinity для background controller

true

backgroundController.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution

Предпочтительные pod anti-affinity ограничения для background controller

- weight: 1
podAffinityTerm:
labelSelector:
matchExpressions:
- key: app.kubernetes.io/component
operator: In
values:
- background-controller
topologyKey: kubernetes.io/hostname

backgroundController.podAffinity

Pod affinity ограничения для background controller

{}

backgroundController.nodeAffinity

Node affinity ограничения для background controller

{}

backgroundController.topologySpreadConstraints

Topology spread constraints для background controller

[]

backgroundController.podSecurityContext

Security context для pod background controller

{}

backgroundController.securityContext.runAsNonRoot

Запускать контейнер background controller от непривилегированного пользователя

true

backgroundController.securityContext.privileged

Запускать контейнер background controller в привилегированном режиме

false

backgroundController.securityContext.allowPrivilegeEscalation

Разрешать повышение привилегий контейнеру background controller

false

backgroundController.securityContext.readOnlyRootFilesystem

Монтировать корневую файловую систему контейнера background controller только для чтения

true

backgroundController.securityContext.capabilities.drop

Список Linux capabilities, удаляемых у контейнера background controller

- ALL

backgroundController.securityContext.seccompProfile.type

Тип seccomp-профиля для контейнера background controller

RuntimeDefault

backgroundController.podDisruptionBudget.enabled

Включает PodDisruptionBudget для background controller

false

backgroundController.podDisruptionBudget.minAvailable

Минимальное количество доступных pod background controller при disruptions

1

backgroundController.podDisruptionBudget.maxUnavailable

Максимальное количество недоступных pod background controller при disruptions

``

backgroundController.caCertificates.data

Строка с CA-сертификатами для background controller

~

backgroundController.caCertificates.volume

Volume для монтирования CA-сертификатов, если data не задано

{}

backgroundController.metricsService.create

Создавать Service для метрик background controller

true

backgroundController.metricsService.port

Порт Service метрик background controller

8000

backgroundController.metricsService.type

Тип Service метрик background controller

ClusterIP

backgroundController.metricsService.nodePort

NodePort Service метрик background controller при типе NodePort

``

backgroundController.metricsService.annotations

Аннотации для Service метрик background controller

{}

backgroundController.networkPolicy.enabled

Использовать NetworkPolicy для разрешения входящего трафика background controller

false

backgroundController.networkPolicy.ingressFrom

Список from selectors для NetworkPolicy background controller

[]

backgroundController.serviceMonitor.enabled

Создавать ServiceMonitor для сбора метрик background controller

true

backgroundController.serviceMonitor.additionalLabels

Дополнительные labels для ServiceMonitor background controller

{}

backgroundController.serviceMonitor.namespace

Namespace для создания ServiceMonitor background controller

~

backgroundController.serviceMonitor.interval

Интервал сбора метрик background controller

30s

backgroundController.serviceMonitor.scrapeTimeout

Таймаут получения метрик background controller

25s

backgroundController.serviceMonitor.secure

Требовать TLS для endpoint ServiceMonitor background controller

false

backgroundController.serviceMonitor.tlsConfig

TLS-конфигурация endpoint ServiceMonitor background controller

{}

backgroundController.serviceMonitor.relabelings

RelabelConfigs для ServiceMonitor background controller

[]

backgroundController.serviceMonitor.metricRelabelings

MetricRelabelConfigs для ServiceMonitor background controller

[]

backgroundController.tracing.enabled

Включает tracing для background controller

false

backgroundController.tracing.address

Адрес приемника traces для background controller

``

backgroundController.tracing.port

Порт приемника traces для background controller

``

backgroundController.tracing.creds

Учетные данные для приемника traces background controller

''

backgroundController.metering.disabled

Отключает экспорт метрик background controller

false

backgroundController.metering.config

Тип конфигурации metering background controller, например prometheus или grpc

prometheus

backgroundController.metering.port

Порт Prometheus endpoint для metering background controller

8000

backgroundController.metering.collector

Endpoint Otel collector для background controller

''

backgroundController.metering.creds

Учетные данные для Otel collector background controller

''

backgroundController.server.port

Порт server background controller

9443

backgroundController.profiling.enabled

Включает profiling background controller

false

backgroundController.profiling.port

Порт profiling endpoint background controller

6060

backgroundController.profiling.serviceType

Тип Service для profiling background controller

ClusterIP

backgroundController.profiling.nodePort

NodePort profiling Service background controller при типе NodePort

``

cleanupController - определить настройки cleanup controller Kyverno#

Параметр

Описание

Значение по умолчанию

cleanupController.featuresOverride

Переопределения feature-настроек для cleanup controller

{}

cleanupController.enabled

Включает cleanup controller

true

cleanupController.rbac.create

Создавать RBAC-ресурсы для cleanup controller

true

cleanupController.rbac.serviceAccount.name

Имя ServiceAccount для cleanup controller

``

cleanupController.rbac.serviceAccount.annotations

Аннотации для ServiceAccount cleanup controller

{}

cleanupController.rbac.clusterRole.extraResources

Дополнительные разрешения для cluster role cleanup controller

[]

cleanupController.createSelfSignedCert

Создавать self-signed сертификаты во время deployment cleanup controller

false

cleanupController.image.registry

Реестр контейнерного образа cleanup controller

'{{ .Values.global.image.registry }}'

cleanupController.image.defaultRegistry

Реестр по умолчанию для образа cleanup controller

'{{ .Values.global.image.registry }}'

cleanupController.image.repository

Репозиторий контейнерного образа cleanup controller

"{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-kyverno/cleanup-controller"

cleanupController.image.tag

Тег контейнерного образа cleanup controller

v1.14.5

cleanupController.image.pullPolicy

Политика загрузки образа cleanup controller

IfNotPresent

cleanupController.imagePullSecrets

Список секретов для загрузки образов cleanup controller

[]

cleanupController.replicas

Желаемое количество pod cleanup controller

~

cleanupController.revisionHistoryLimit

Количество сохраняемых ревизий Deployment cleanup controller

10

cleanupController.resyncPeriod

Период resync для informer cleanup controller

15m

cleanupController.podLabels

Дополнительные labels для каждого pod cleanup controller

{}

cleanupController.podAnnotations

Дополнительные аннотации для каждого pod cleanup controller

{}

cleanupController.annotations

Аннотации Deployment cleanup controller

{}

cleanupController.updateStrategy.rollingUpdate.maxSurge

Максимальное количество дополнительных pod при rolling update cleanup controller

1

cleanupController.updateStrategy.rollingUpdate.maxUnavailable

Максимальная доля недоступных pod при rolling update cleanup controller

40%

cleanupController.updateStrategy.type

Тип стратегии обновления Deployment cleanup controller

RollingUpdate

cleanupController.priorityClassName

Имя PriorityClass для pod cleanup controller

''

cleanupController.hostNetwork

Запускать pod cleanup controller в сетевом пространстве хоста

false

cleanupController.server.port

Порт server cleanup controller

9443

cleanupController.webhookServer.port

Порт webhook server cleanup controller

9443

cleanupController.dnsPolicy

DNS policy для pod cleanup controller

ClusterFirst

cleanupController.dnsConfig

Дополнительная DNS-конфигурация для pod cleanup controller

{}

cleanupController.extraArgs

Дополнительные аргументы командной строки для cleanup controller

{}

cleanupController.extraEnvVars

Дополнительные переменные окружения для cleanup controller

[]

cleanupController.resources.limits.memory

Memory limit для cleanup controller

128Mi

cleanupController.resources.requests.cpu

CPU request для cleanup controller

100m

cleanupController.resources.requests.memory

Memory request для cleanup controller

64Mi

cleanupController.startupProbe.httpGet.path

HTTP path для startup probe cleanup controller

/health/liveness

cleanupController.startupProbe.httpGet.port

Порт startup probe cleanup controller

9443

cleanupController.startupProbe.httpGet.scheme

Схема запроса для startup probe cleanup controller

HTTPS

cleanupController.startupProbe.failureThreshold

Количество неуспешных startup probe до признания запуска неудачным

20

cleanupController.startupProbe.initialDelaySeconds

Задержка перед первой startup probe cleanup controller

2

cleanupController.startupProbe.periodSeconds

Интервал между startup probe cleanup controller

6

cleanupController.livenessProbe.httpGet.path

HTTP path для liveness probe cleanup controller

/health/liveness

cleanupController.livenessProbe.httpGet.port

Порт liveness probe cleanup controller

9443

cleanupController.livenessProbe.httpGet.scheme

Схема запроса для liveness probe cleanup controller

HTTPS

cleanupController.livenessProbe.initialDelaySeconds

Задержка перед первой liveness probe cleanup controller

15

cleanupController.livenessProbe.periodSeconds

Интервал между liveness probe cleanup controller

30

cleanupController.livenessProbe.timeoutSeconds

Таймаут одной liveness probe cleanup controller

5

cleanupController.livenessProbe.failureThreshold

Количество неуспешных liveness probe до перезапуска контейнера cleanup controller

2

cleanupController.livenessProbe.successThreshold

Количество успешных liveness probe cleanup controller для признания результата успешным

1

cleanupController.readinessProbe.httpGet.path

HTTP path для readiness probe cleanup controller

/health/readiness

cleanupController.readinessProbe.httpGet.port

Порт readiness probe cleanup controller

9443

cleanupController.readinessProbe.httpGet.scheme

Схема запроса для readiness probe cleanup controller

HTTPS

cleanupController.readinessProbe.initialDelaySeconds

Задержка перед первой readiness probe cleanup controller

5

cleanupController.readinessProbe.periodSeconds

Интервал между readiness probe cleanup controller

10

cleanupController.readinessProbe.timeoutSeconds

Таймаут одной readiness probe cleanup controller

5

cleanupController.readinessProbe.failureThreshold

Количество неуспешных readiness probe до перевода pod cleanup controller в состояние NotReady

6

cleanupController.readinessProbe.successThreshold

Количество успешных readiness probe cleanup controller для признания результата успешным

1

cleanupController.nodeSelector

Node selector для pod cleanup controller

{}

cleanupController.tolerations

Список tolerations для pod cleanup controller

[]

cleanupController.antiAffinity.enabled

Включает pod anti-affinity для cleanup controller

true

cleanupController.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution

Предпочтительные pod anti-affinity ограничения для cleanup controller

- weight: 1
podAffinityTerm:
labelSelector:
matchExpressions:
- key: app.kubernetes.io/component
operator: In
values:
- cleanup-controller
topologyKey: kubernetes.io/hostname

cleanupController.podAffinity

Pod affinity ограничения для cleanup controller

{}

cleanupController.nodeAffinity

Node affinity ограничения для cleanup controller

{}

cleanupController.topologySpreadConstraints

Topology spread constraints для cleanup controller

[]

cleanupController.podSecurityContext

Security context для pod cleanup controller

{}

cleanupController.securityContext.runAsNonRoot

Запускать контейнер cleanup controller от непривилегированного пользователя

true

cleanupController.securityContext.privileged

Запускать контейнер cleanup controller в привилегированном режиме

false

cleanupController.securityContext.allowPrivilegeEscalation

Разрешать повышение привилегий контейнеру cleanup controller

false

cleanupController.securityContext.readOnlyRootFilesystem

Монтировать корневую файловую систему контейнера cleanup controller только для чтения

true

cleanupController.securityContext.capabilities.drop

Список Linux capabilities, удаляемых у контейнера cleanup controller

- ALL

cleanupController.securityContext.seccompProfile.type

Тип seccomp-профиля для контейнера cleanup controller

RuntimeDefault

cleanupController.podDisruptionBudget.enabled

Включает PodDisruptionBudget для cleanup controller

false

cleanupController.podDisruptionBudget.minAvailable

Минимальное количество доступных pod cleanup controller при disruptions

1

cleanupController.podDisruptionBudget.maxUnavailable

Максимальное количество недоступных pod cleanup controller при disruptions

``

cleanupController.service.port

Порт Service cleanup controller

443

cleanupController.service.type

Тип Service cleanup controller

ClusterIP

cleanupController.service.nodePort

NodePort Service cleanup controller при типе NodePort

``

cleanupController.service.annotations

Аннотации для Service cleanup controller

{}

cleanupController.metricsService.create

Создавать Service для метрик cleanup controller

true

cleanupController.metricsService.port

Порт Service метрик cleanup controller

8000

cleanupController.metricsService.type

Тип Service метрик cleanup controller

ClusterIP

cleanupController.metricsService.nodePort

NodePort Service метрик cleanup controller при типе NodePort

``

cleanupController.metricsService.annotations

Аннотации для Service метрик cleanup controller

{}

cleanupController.networkPolicy.enabled

Использовать NetworkPolicy для разрешения входящего трафика cleanup controller

false

cleanupController.networkPolicy.ingressFrom

Список from selectors для NetworkPolicy cleanup controller

[]

cleanupController.serviceMonitor.enabled

Создавать ServiceMonitor для сбора метрик cleanup controller

true

cleanupController.serviceMonitor.additionalLabels

Дополнительные labels для ServiceMonitor cleanup controller

{}

cleanupController.serviceMonitor.namespace

Namespace для создания ServiceMonitor cleanup controller

~

cleanupController.serviceMonitor.interval

Интервал сбора метрик cleanup controller

30s

cleanupController.serviceMonitor.scrapeTimeout

Таймаут получения метрик cleanup controller

25s

cleanupController.serviceMonitor.secure

Требовать TLS для endpoint ServiceMonitor cleanup controller

false

cleanupController.serviceMonitor.tlsConfig

TLS-конфигурация endpoint ServiceMonitor cleanup controller

{}

cleanupController.serviceMonitor.relabelings

RelabelConfigs для ServiceMonitor cleanup controller

[]

cleanupController.serviceMonitor.metricRelabelings

MetricRelabelConfigs для ServiceMonitor cleanup controller

[]

cleanupController.tracing.enabled

Включает tracing для cleanup controller

false

cleanupController.tracing.address

Адрес приемника traces для cleanup controller

``

cleanupController.tracing.port

Порт приемника traces для cleanup controller

``

cleanupController.tracing.creds

Учетные данные для приемника traces cleanup controller

''

cleanupController.metering.disabled

Отключает экспорт метрик cleanup controller

false

cleanupController.metering.config

Тип конфигурации metering cleanup controller, например prometheus или grpc

prometheus

cleanupController.metering.port

Порт Prometheus endpoint для metering cleanup controller

8000

cleanupController.metering.collector

Endpoint Otel collector для cleanup controller

''

cleanupController.metering.creds

Учетные данные для Otel collector cleanup controller

''

cleanupController.profiling.enabled

Включает profiling cleanup controller

false

cleanupController.profiling.port

Порт profiling endpoint cleanup controller

6060

cleanupController.profiling.serviceType

Тип Service для profiling cleanup controller

ClusterIP

cleanupController.profiling.nodePort

NodePort profiling Service cleanup controller при типе NodePort

``

reportsController - определить настройки reports controller Kyverno#

Параметр

Описание

Значение по умолчанию

reportsController.featuresOverride

Переопределения feature-настроек для reports controller

{}

reportsController.enabled

Включает reports controller

true

reportsController.rbac.create

Создавать RBAC-ресурсы для reports controller

true

reportsController.rbac.createViewRoleBinding

Создавать RoleBinding на роль view для reports controller

true

reportsController.rbac.viewRoleName

Имя view role, используемой в RoleBinding reports controller

view

reportsController.rbac.serviceAccount.name

Имя ServiceAccount для reports controller

``

reportsController.rbac.serviceAccount.annotations

Аннотации для ServiceAccount reports controller

{}

reportsController.rbac.coreClusterRole.extraResources

Дополнительные разрешения для core cluster role reports controller

[]

reportsController.rbac.clusterRole.extraResources

Дополнительные разрешения для cluster role reports controller

[]

reportsController.image.registry

Реестр контейнерного образа reports controller

'{{ .Values.global.image.registry }}'

reportsController.image.defaultRegistry

Реестр по умолчанию для образа reports controller

'{{ .Values.global.image.registry }}'

reportsController.image.repository

Репозиторий контейнерного образа reports controller

"{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-kyverno/reports-controller"

reportsController.image.tag

Тег контейнерного образа reports controller

v1.14.5

reportsController.image.pullPolicy

Политика загрузки образа reports controller

IfNotPresent

reportsController.imagePullSecrets

Список секретов для загрузки образов reports controller

[]

reportsController.replicas

Желаемое количество pod reports controller

~

reportsController.revisionHistoryLimit

Количество сохраняемых ревизий Deployment reports controller

10

reportsController.resyncPeriod

Период resync для informer reports controller

15m

reportsController.podLabels

Дополнительные labels для каждого pod reports controller

{}

reportsController.podAnnotations

Дополнительные аннотации для каждого pod reports controller

{}

reportsController.annotations

Аннотации Deployment reports controller

{}

reportsController.updateStrategy.rollingUpdate.maxSurge

Максимальное количество дополнительных pod при rolling update reports controller

1

reportsController.updateStrategy.rollingUpdate.maxUnavailable

Максимальная доля недоступных pod при rolling update reports controller

40%

reportsController.updateStrategy.type

Тип стратегии обновления Deployment reports controller

RollingUpdate

reportsController.priorityClassName

Имя PriorityClass для pod reports controller

''

reportsController.apiPriorityAndFairness

Включает изоляцию API-вызовов reports controller через API Priority and Fairness для повышения стабильности

false

reportsController.priorityLevelConfigurationSpec.type

Тип PriorityLevelConfiguration для reports controller

Limited

reportsController.priorityLevelConfigurationSpec.limited.nominalConcurrencyShares

Количество nominal concurrency shares для PriorityLevelConfiguration reports controller

10

reportsController.priorityLevelConfigurationSpec.limited.limitResponse.queuing.queueLengthLimit

Максимальная длина очереди для limitResponse reports controller

50

reportsController.priorityLevelConfigurationSpec.limited.limitResponse.type

Тип limitResponse для PriorityLevelConfiguration reports controller

Queue

reportsController.hostNetwork

Запускать pod reports controller в сетевом пространстве хоста

false

reportsController.dnsPolicy

DNS policy для pod reports controller

ClusterFirst

reportsController.dnsConfig

Дополнительная DNS-конфигурация для pod reports controller

{}

reportsController.extraArgs

Дополнительные аргументы командной строки для reports controller

{}

reportsController.extraEnvVars

Дополнительные переменные окружения для reports controller

[]

reportsController.resources.limits.memory

Memory limit для reports controller

128Mi

reportsController.resources.requests.cpu

CPU request для reports controller

100m

reportsController.resources.requests.memory

Memory request для reports controller

64Mi

reportsController.nodeSelector

Node selector для pod reports controller

{}

reportsController.tolerations

Список tolerations для pod reports controller

[]

reportsController.antiAffinity.enabled

Включает pod anti-affinity для reports controller

true

reportsController.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution

Предпочтительные pod anti-affinity ограничения для reports controller

- weight: 1
podAffinityTerm:
labelSelector:
matchExpressions:
- key: app.kubernetes.io/component
operator: In
values:
- reports-controller
topologyKey: kubernetes.io/hostname

reportsController.podAffinity

Pod affinity ограничения для reports controller

{}

reportsController.nodeAffinity

Node affinity ограничения для reports controller

{}

reportsController.topologySpreadConstraints

Topology spread constraints для reports controller

[]

reportsController.podSecurityContext

Security context для pod reports controller

{}

reportsController.securityContext.runAsNonRoot

Запускать контейнер reports controller от непривилегированного пользователя

true

reportsController.securityContext.privileged

Запускать контейнер reports controller в привилегированном режиме

false

reportsController.securityContext.allowPrivilegeEscalation

Разрешать повышение привилегий контейнеру reports controller

false

reportsController.securityContext.readOnlyRootFilesystem

Монтировать корневую файловую систему контейнера reports controller только для чтения

true

reportsController.securityContext.capabilities.drop

Список Linux capabilities, удаляемых у контейнера reports controller

- ALL

reportsController.securityContext.seccompProfile.type

Тип seccomp-профиля для контейнера reports controller

RuntimeDefault

reportsController.podDisruptionBudget.enabled

Включает PodDisruptionBudget для reports controller

false

reportsController.podDisruptionBudget.minAvailable

Минимальное количество доступных pod reports controller при disruptions

1

reportsController.podDisruptionBudget.maxUnavailable

Максимальное количество недоступных pod reports controller при disruptions

``

reportsController.tufRootMountPath

Путь для writable volume, используемого при инициализации TUF root в reports controller

/.sigstore

reportsController.sigstoreVolume.emptyDir

Пустой том для работы TUF и cosign в reports controller

{}

reportsController.caCertificates.data

Строка с CA-сертификатами для reports controller

~

reportsController.caCertificates.volume

Volume для монтирования CA-сертификатов, если data не задано

{}

reportsController.metricsService.create

Создавать Service для метрик reports controller

true

reportsController.metricsService.port

Порт Service метрик reports controller

8000

reportsController.metricsService.type

Тип Service метрик reports controller

ClusterIP

reportsController.metricsService.nodePort

NodePort Service метрик reports controller при типе NodePort

~

reportsController.metricsService.annotations

Аннотации для Service метрик reports controller

{}

reportsController.networkPolicy.enabled

Использовать NetworkPolicy для разрешения входящего трафика reports controller

false

reportsController.networkPolicy.ingressFrom

Список from selectors для NetworkPolicy reports controller

[]

reportsController.serviceMonitor.enabled

Создавать ServiceMonitor для сбора метрик reports controller

true

reportsController.serviceMonitor.additionalLabels

Дополнительные labels для ServiceMonitor reports controller

{}

reportsController.serviceMonitor.namespace

Namespace для создания ServiceMonitor reports controller

~

reportsController.serviceMonitor.interval

Интервал сбора метрик reports controller

30s

reportsController.serviceMonitor.scrapeTimeout

Таймаут получения метрик reports controller

25s

reportsController.serviceMonitor.secure

Требовать TLS для endpoint ServiceMonitor reports controller

false

reportsController.serviceMonitor.tlsConfig

TLS-конфигурация endpoint ServiceMonitor reports controller

{}

reportsController.serviceMonitor.relabelings

RelabelConfigs для ServiceMonitor reports controller

[]

reportsController.serviceMonitor.metricRelabelings

MetricRelabelConfigs для ServiceMonitor reports controller

[]

reportsController.tracing.enabled

Включает tracing для reports controller

false

reportsController.tracing.address

Адрес приемника traces для reports controller

~

reportsController.tracing.port

Порт приемника traces для reports controller

~

reportsController.tracing.creds

Учетные данные для приемника traces reports controller

~

reportsController.metering.disabled

Отключает экспорт метрик reports controller

false

reportsController.metering.config

Тип конфигурации metering reports controller, например prometheus или grpc

prometheus

reportsController.metering.port

Порт Prometheus endpoint для metering reports controller

8000

reportsController.metering.collector

Endpoint Otel collector для reports controller

~

reportsController.metering.creds

Учетные данные для Otel collector reports controller

~

reportsController.server.port

Порт server reports controller

9443

reportsController.profiling.enabled

Включает profiling reports controller

false

reportsController.profiling.port

Порт profiling endpoint reports controller

6060

reportsController.profiling.serviceType

Тип Service для profiling reports controller

ClusterIP

reportsController.profiling.nodePort

NodePort profiling Service reports controller при типе NodePort

``

reportsController.sanityChecks

Включает sanity check для reports CRD

true