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 – определение внутренних параметров генерации через Helm#

Параметр

Описание

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

templating.enabled

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

false

templating.debug

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

false

templating.version

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

~

nameOverride – переопределение имени чарта#

Параметр

Описание

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

nameOverride

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

~

fullnameOverride – полное переопределение имени чарта#

Параметр

Описание

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

fullnameOverride

Полное переопределение имени для всех создаваемых ресурсов чарта

~

namespaceOverride – переопределение пространства имен#

Параметр

Описание

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

namespaceOverride

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

~

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

Параметр

Описание

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

upgrade.fromV2

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

false

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

Параметр

Описание

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

apiVersionOverride.podDisruptionBudget

Настройки PodDisruptionBudget для ограничения количества одновременно недоступных pod

~

rbac – настройки RBAC (управление доступом на основе ролей)#

Параметр

Описание

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

rbac.roles.aggregate.admin

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

true

rbac.roles.aggregate.view

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

true

crds – настройки установки и обновления Custom Resource Definitions (CRD)#

Параметр

Описание

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

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

Аннотации, добавляемые ко всем создаваемым ресурсам.
Пример конфигурации:

argocd.argoproj.io/sync-options: Replace=true
strategy.spinnaker.io/replace: 'true'

{}

crds.customLabels

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

{}

crds.migration.enabled

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

true

crds.migration.resources

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

- 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

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

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

crds.migration.image.defaultRegistry

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

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

crds.migration.image.repository

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

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

crds.migration.image.tag

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

v1.14.5

crds.migration.image.pullPolicy

Политика загрузки образа для хук миграции CRD.
Возможные значения: IfNotPresent, Always, Never

IfNotPresent

crds.migration.imagePullSecrets

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

[]

crds.migration.podSecurityContext

Параметры контекста безопасности pod

{}

crds.migration.nodeSelector

Селектор узлов для планирования pod

{}

crds.migration.tolerations

Toleration для размещения pod на узлах с ограничениями (taints)

[]

crds.migration.podAntiAffinity

Политика anti-affinity для предотвращения размещения реплик на одном узле

{}

crds.migration.podAffinity

Политика affinity для совместного размещения с другими pod, соответствующими заданным меткам

{}

crds.migration.podLabels

Метки для pod хук миграции CRD

{}

crds.migration.podAnnotations

Аннотации для pod хук миграции CRD

{}

crds.migration.nodeAffinity

Правила для привязки pod к узлам, обладающим определенными метками

{}

crds.migration.securityContext.runAsUser

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

65534

crds.migration.securityContext.runAsGroup

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

65534

crds.migration.securityContext.runAsNonRoot

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

true

crds.migration.securityContext.privileged

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

false

crds.migration.securityContext.allowPrivilegeEscalation

Активация разрешения на эскалацию привилегий в контейнере

false

crds.migration.securityContext.readOnlyRootFilesystem

Монтирование корневой файловой системы в режиме «только для чтения»

true

crds.migration.securityContext.capabilities.drop

Список возможностей (capabilities), отзываемых у контейнера

- ALL

crds.migration.securityContext.seccompProfile.type

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

RuntimeDefault

crds.migration.podResources.limits.cpu

Ограничение ресурсов CPU для контейнера

100m

crds.migration.podResources.limits.memory

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

256Mi

crds.migration.podResources.requests.cpu

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

10m

crds.migration.podResources.requests.memory

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

64Mi

config – основная конфигурация инструмента#

Параметр

Описание

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

config.create

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

true

config.preserve

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

true

config.name

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

~

config.annotations

Аннотации, добавляемые ко всем создаваемым ресурсам

{}

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,*,{{ template "kyverno.admission-controller.roleName" . }}]'
- '[ClusterRole,*,{{ template "kyverno.admission-controller.roleName" . }}:core]'
- '[ClusterRole,*,{{ template "kyverno.admission-controller.roleName" . }}:additional]'
- '[ClusterRole,*,{{ template "kyverno.background-controller.roleName" . }}]'
- '[ClusterRole,*,{{ template "kyverno.background-controller.roleName" . }}:core]'
- '[ClusterRole,*,{{ template "kyverno.background-controller.roleName" . }}:additional]'
- '[ClusterRole,*,{{ template "kyverno.cleanup-controller.roleName" . }}]'
- '[ClusterRole,*,{{ template "kyverno.cleanup-controller.roleName" . }}:core]'
- '[ClusterRole,*,{{ template "kyverno.cleanup-controller.roleName" . }}:additional]'
- '[ClusterRole,*,{{ template "kyverno.reports-controller.roleName" . }}]'
- '[ClusterRole,*,{{ template "kyverno.reports-controller.roleName" . }}:core]'
- '[ClusterRole,*,{{ template "kyverno.reports-controller.roleName" . }}:additional]'
- '[ClusterRoleBinding,*,{{ template "kyverno.admission-controller.roleName" . }}]'
- '[ClusterRoleBinding,*,{{ template "kyverno.background-controller.roleName" . }}]'
- '[ClusterRoleBinding,*,{{ template "kyverno.cleanup-controller.roleName" . }}]'
- '[ClusterRoleBinding,*,{{ template "kyverno.reports-controller.roleName" . }}]'
- '[ServiceAccount,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.serviceAccountName" . }}]'
- '[ServiceAccount/*,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.serviceAccountName" . }}]'
- '[ServiceAccount,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.serviceAccountName" . }}]'
- '[ServiceAccount/*,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.serviceAccountName" . }}]'
- '[ServiceAccount,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.serviceAccountName" . }}]'
- '[ServiceAccount/*,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.serviceAccountName" . }}]'
- '[ServiceAccount,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.serviceAccountName" . }}]'
- '[ServiceAccount/*,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.serviceAccountName" . }}]'
- '[Role,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.roleName" . }}]'
- '[Role,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.roleName" . }}]'
- '[Role,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.roleName" . }}]'
- '[Role,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.roleName" . }}]'
- '[RoleBinding,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.roleName" . }}]'
- '[RoleBinding,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.roleName" . }}]'
- '[RoleBinding,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.roleName" . }}]'
- '[RoleBinding,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.roleName" . }}]'
- '[ConfigMap,{{ include "kyverno.namespace" . }},{{ template "kyverno.config.configMapName" . }}]'
- '[ConfigMap,{{ include "kyverno.namespace" . }},{{ template "kyverno.config.metricsConfigMapName" . }}]'
- '[Deployment,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.name" . }}]'
- '[Deployment/*,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.name" . }}]'
- '[Deployment,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.name" . }}]'
- '[Deployment/*,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.name" . }}]'
- '[Deployment,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}]'
- '[Deployment/*,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}]'
- '[Deployment,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.name" . }}]'
- '[Deployment/*,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.name" . }}]'
- '[Pod,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.name" . }}-*]'
- '[Pod/*,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.name" . }}-*]'
- '[Pod,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.name" . }}-*]'
- '[Pod/*,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.name" . }}-*]'
- '[Pod,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}-*]'
- '[Pod/*,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}-*]'
- '[Pod,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.name" . }}-*]'
- '[Pod/*,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.name" . }}-*]'
- '[Job,{{ include "kyverno.namespace" . }},{{ template "kyverno.fullname" . }}-hook-pre-delete]'
- '[Job/*,{{ include "kyverno.namespace" . }},{{ template "kyverno.fullname" . }}-hook-pre-delete]'
- '[NetworkPolicy,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.name" . }}]'
- '[NetworkPolicy/*,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.name" . }}]'
- '[NetworkPolicy,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.name" . }}]'
- '[NetworkPolicy/*,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.name" . }}]'
- '[NetworkPolicy,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}]'
- '[NetworkPolicy/*,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}]'
- '[NetworkPolicy,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.name" . }}]'
- '[NetworkPolicy/*,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.name" . }}]'
- '[PodDisruptionBudget,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.name" . }}]'
- '[PodDisruptionBudget/*,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.name" . }}]'
- '[PodDisruptionBudget,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.name" . }}]'
- '[PodDisruptionBudget/*,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.name" . }}]'
- '[PodDisruptionBudget,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}]'
- '[PodDisruptionBudget/*,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}]'
- '[PodDisruptionBudget,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.name" . }}]'
- '[PodDisruptionBudget/*,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.name" . }}]'
- '[Service,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.serviceName" . }}]'
- '[Service/*,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.serviceName" . }}]'
- '[Service,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.serviceName" . }}-metrics]'
- '[Service/*,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.serviceName" . }}-metrics]'
- '[Service,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.name" . }}-metrics]'
- '[Service/*,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.name" . }}-metrics]'
- '[Service,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}]'
- '[Service/*,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}]'
- '[Service,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}-metrics]'
- '[Service/*,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}-metrics]'
- '[Service,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.name" . }}-metrics]'
- '[Service/*,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.name" . }}-metrics]'
- '[ServiceMonitor,{{ if .Values.admissionController.serviceMonitor.namespace }}{{ .Values.admissionController.serviceMonitor.namespace }}{{ else }}{{ template "kyverno.namespace" . }}{{ end }},{{ template "kyverno.admission-controller.name" . }}]'
- '[ServiceMonitor,{{ if .Values.admissionController.serviceMonitor.namespace }}{{ .Values.admissionController.serviceMonitor.namespace }}{{ else }}{{ template "kyverno.namespace" . }}{{ end }},{{ template "kyverno.background-controller.name" . }}]'
- '[ServiceMonitor,{{ if .Values.admissionController.serviceMonitor.namespace }}{{ .Values.admissionController.serviceMonitor.namespace }}{{ else }}{{ template "kyverno.namespace" . }}{{ end }},{{ template "kyverno.cleanup-controller.name" . }}]'
- '[ServiceMonitor,{{ if .Values.admissionController.serviceMonitor.namespace }}{{ .Values.admissionController.serviceMonitor.namespace }}{{ else }}{{ template "kyverno.namespace" . }}{{ end }},{{ template "kyverno.reports-controller.name" . }}]'
- '[Secret,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.serviceName" . }}.{{ template "kyverno.namespace" . }}.svc.*]'
- '[Secret,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}.{{ template "kyverno.namespace" . }}.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

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

'argocd.argoproj.io/instance': 'kyverno'

{}

config.matchConditions

Условия сопоставления для вебхуков

[]

config.excludeKyvernoNamespace

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

true

config.resourceFiltersExcludeNamespaces

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

[]

config.resourceFiltersExclude

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

[]

config.resourceFiltersIncludeNamespaces

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

[]

config.resourceFiltersInclude

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

[]

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

Параметр

Описание

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

metricsConfig.create

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

true

metricsConfig.name

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

~

metricsConfig.annotations

Аннотации, добавляемые ко всем создаваемым ресурсам

{}

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 – Secret для загрузки образов#

Параметр

Описание

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

imagePullSecrets

Список Secret для загрузки образа контейнера из приватных реестров.
Пример конфигурации:

regcred:
  registry: foo.example.com
  username: <username1>
  password: secret
regcred2:
  registry: bar.example.com
  username: <username2>
  password: secret2

{}

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

Параметр

Описание

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

existingImagePullSecrets

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

- test-registry
- other-test-registry

[]

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

Параметр

Описание

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

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

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

'7.76.1'

test.image.pullPolicy

Политика загрузки образа тестового контейнера.
Возможные значения: IfNotPresent, Always, Never

~

test.imagePullSecrets

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

[]

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

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

65534

test.securityContext.runAsGroup

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

65534

test.securityContext.runAsNonRoot

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

true

test.securityContext.privileged

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

false

test.securityContext.allowPrivilegeEscalation

Активация разрешения на эскалацию привилегий в контейнере

false

test.securityContext.readOnlyRootFilesystem

Монтирование корневой файловой системы в режиме «только для чтения»

true

test.securityContext.capabilities.drop

Список возможностей (capabilities), отзываемых у контейнера

- ALL

test.securityContext.seccompProfile.type

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

RuntimeDefault

customLabels – дополнительные метки для ресурсов чарта#

Параметр

Описание

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

customLabels

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

{}

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

Параметр

Описание

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

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

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

'v1.29.15'

webhooksCleanup.image.pullPolicy

Политика загрузки образа Kubectl.
Возможные значения: IfNotPresent, Always, Never

~

webhooksCleanup.imagePullSecrets

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

[]

webhooksCleanup.podSecurityContext

Параметры контекста безопасности pod

{}

webhooksCleanup.nodeSelector

Селектор узлов для планирования pod

{}

webhooksCleanup.tolerations

Toleration для размещения pod на узлах с ограничениями (taints)

[]

webhooksCleanup.podAntiAffinity

Политика anti-affinity для предотвращения размещения реплик на одном узле

{}

webhooksCleanup.podAffinity

Политика affinity для совместного размещения с другими pod, соответствующими заданным меткам

{}

webhooksCleanup.podLabels

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

{}

webhooksCleanup.podAnnotations

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

{}

webhooksCleanup.nodeAffinity

Правила для привязки pod к узлам, обладающим определенными метками

{}

webhooksCleanup.securityContext.runAsUser

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

65534

webhooksCleanup.securityContext.runAsGroup

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

65534

webhooksCleanup.securityContext.runAsNonRoot

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

true

webhooksCleanup.securityContext.privileged

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

false

webhooksCleanup.securityContext.allowPrivilegeEscalation

Активация разрешения на эскалацию привилегий в контейнере

false

webhooksCleanup.securityContext.readOnlyRootFilesystem

Монтирование корневой файловой системы в режиме «только для чтения»

true

webhooksCleanup.securityContext.capabilities.drop

Список возможностей (capabilities), отзываемых у контейнера

- ALL

webhooksCleanup.securityContext.seccompProfile.type

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

RuntimeDefault

webhooksCleanup.resources.limits.cpu

Ограничение ресурсов CPU для контейнера

100m

webhooksCleanup.resources.limits.memory

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

256Mi

webhooksCleanup.resources.requests.cpu

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

10m

webhooksCleanup.resources.requests.memory

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

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

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

'v1.29.15'

policyReportsCleanup.image.pullPolicy

Политика загрузки образа Kubectl.
Возможные значения: IfNotPresent, Always, Never

~

policyReportsCleanup.imagePullSecrets

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

[]

policyReportsCleanup.podSecurityContext

Параметры контекста безопасности pod

{}

policyReportsCleanup.nodeSelector

Селектор узлов для планирования pod

{}

policyReportsCleanup.tolerations

Toleration для размещения pod на узлах с ограничениями (taints)

[]

policyReportsCleanup.podAntiAffinity

Политика anti-affinity для предотвращения размещения реплик на одном узле

{}

policyReportsCleanup.podAffinity

Политика affinity для совместного размещения с другими pod, соответствующими заданным меткам

{}

policyReportsCleanup.podLabels

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

{}

policyReportsCleanup.podAnnotations

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

{}

policyReportsCleanup.nodeAffinity

Правила для привязки pod к узлам, обладающим определенными метками

{}

policyReportsCleanup.securityContext.runAsUser

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

65534

policyReportsCleanup.securityContext.runAsGroup

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

65534

policyReportsCleanup.securityContext.runAsNonRoot

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

true

policyReportsCleanup.securityContext.privileged

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

false

policyReportsCleanup.securityContext.allowPrivilegeEscalation

Активация разрешения на эскалацию привилегий в контейнере

false

policyReportsCleanup.securityContext.readOnlyRootFilesystem

Монтирование корневой файловой системы в режиме «только для чтения»

true

policyReportsCleanup.securityContext.capabilities.drop

Список возможностей (capabilities), отзываемых у контейнера

- ALL

policyReportsCleanup.securityContext.seccompProfile.type

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

RuntimeDefault

policyReportsCleanup.resources.limits.cpu

Ограничение ресурсов CPU для контейнера

100m

policyReportsCleanup.resources.limits.memory

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

256Mi

policyReportsCleanup.resources.requests.cpu

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

10m

policyReportsCleanup.resources.requests.memory

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

64Mi

grafana – определить настройки панели Grafana#

Параметр

Описание

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

grafana.enabled

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

false

grafana.configMapName

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

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

grafana.namespace

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

~

grafana.annotations

Аннотации, добавляемые ко всем создаваемым ресурсам

{}

grafana.labels.grafana_dashboard

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

"1"

grafana.grafanaDashboard.create

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

create: false
folder: kyverno
allowCrossNamespaceImport: true
matchLabels:
  dashboards: "grafana"

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

Параметр

Описание

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

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#

Параметр

Описание

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

admissionController.autoscaling.enabled

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

false

admissionController.autoscaling.minReplicas

Минимальное количество реплик при автоматическом масштабировании

1

admissionController.autoscaling.maxReplicas

Максимальное количество реплик при автоматическом масштабировании

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

true

admissionController.rbac.createViewRoleBinding

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

true

admissionController.rbac.viewRoleName

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

view

admissionController.rbac.serviceAccount.name

Имя ServiceAccount для admission controller

~

admissionController.rbac.serviceAccount.annotations

Аннотации, добавляемые ко всем создаваемым ресурсам

{}

admissionController.rbac.coreClusterRole.extraResources

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

[]

admissionController.rbac.clusterRole.extraResources

Дополнительные разрешения на ресурсы для cluster role admission controller.
Пример конфигурации:

- apiGroups:
    - ''
  resources:
    - pods
  verbs:
    - create
    - update
    - delete

[]

admissionController.createSelfSignedCert

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

false

admissionController.replicas

Количество реплик pod

2

admissionController.revisionHistoryLimit

Количество предыдущих версий ресурса, сохраняемых для отката

10

admissionController.resyncPeriod

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

15m

admissionController.crdWatcher

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

false

admissionController.podLabels

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

{}

admissionController.podAnnotations

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

{}

admissionController.annotations

Аннотации, добавляемые ко всем создаваемым ресурсам

{}

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

''

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 для pod

ClusterFirst

admissionController.dnsConfig

Пользовательская конфигурация DNS для pod

{}

admissionController.startupProbe.httpGet.path

HTTP-путь, используемый при проверке запуска

/health/liveness

admissionController.startupProbe.httpGet.port

Имя порта, используемого при проверке запуска

9443

admissionController.startupProbe.httpGet.scheme

Схема обращения для проверки запуска

HTTPS

admissionController.startupProbe.failureThreshold

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

20

admissionController.startupProbe.initialDelaySeconds

Задержка в секундах перед первой стартовой проверкой

2

admissionController.startupProbe.periodSeconds

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

6

admissionController.livenessProbe.httpGet.path

HTTP-путь для проверки работоспособности контейнера

/health/liveness

admissionController.livenessProbe.httpGet.port

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

9443

admissionController.livenessProbe.httpGet.scheme

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

HTTPS

admissionController.livenessProbe.initialDelaySeconds

Задержка в секундах перед первой проверкой работоспособности

15

admissionController.livenessProbe.periodSeconds

Интервал в секундах между проверками работоспособности

30

admissionController.livenessProbe.timeoutSeconds

Тайм-аут ожидания проверки работоспособности

5

admissionController.livenessProbe.failureThreshold

Количество неудачных попыток до перевода контейнера в статус NotReady

2

admissionController.livenessProbe.successThreshold

Количество успешных попыток для подтверждения работоспособности

1

admissionController.readinessProbe.httpGet.path

HTTP-путь, используемый при проверке готовности

/health/readiness

admissionController.readinessProbe.httpGet.port

Имя порта, используемого при проверке готовности

9443

admissionController.readinessProbe.httpGet.scheme

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

HTTPS

admissionController.readinessProbe.initialDelaySeconds

Задержка в секундах перед первой проверкой готовности

5

admissionController.readinessProbe.periodSeconds

Интервал в секундах между проверками готовности

10

admissionController.readinessProbe.timeoutSeconds

Тайм-аут ожидания проверки готовности

5

admissionController.readinessProbe.failureThreshold

Количество неудачных попыток до перевода контейнера в статус NotReady

6

admissionController.readinessProbe.successThreshold

Количество успешных попыток для подтверждения готовности

1

admissionController.nodeSelector

Селектор узлов для планирования pod

{}

admissionController.tolerations

Toleration для размещения pod на узлах с ограничениями (taints)

[]

admissionController.antiAffinity.enabled

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

true

admissionController.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution

Политика anti-affinity для предотвращения размещения реплик на одном узле

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

admissionController.podAffinity

Политика affinity для совместного размещения с другими pod, соответствующими заданным меткам

{}

admissionController.nodeAffinity

Правила для привязки pod к узлам, обладающим определенными метками

{}

admissionController.topologySpreadConstraints

Ограничения топологии для равномерного распределения pod по зонам доступности и узлам

[]

admissionController.podSecurityContext

Параметры контекста безопасности pod

{}

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

/.sigstore

admissionController.sigstoreVolume.emptyDir

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

{}

admissionController.caCertificates.data

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

~

admissionController.caCertificates.volume

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

{}

admissionController.imagePullSecrets

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

[]

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

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

v1.14.5

admissionController.initContainer.image.pullPolicy

Политика загрузки образа init container; если не задана, используется image.pullPolicy.
Возможные значения: IfNotPresent, Always, Never

~

admissionController.initContainer.resources.limits.cpu

Ограничение ресурсов CPU для контейнера

100m

admissionController.initContainer.resources.limits.memory

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

256Mi

admissionController.initContainer.resources.requests.cpu

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

10m

admissionController.initContainer.resources.requests.memory

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

64Mi

admissionController.initContainer.securityContext.runAsNonRoot

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

true

admissionController.initContainer.securityContext.privileged

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

false

admissionController.initContainer.securityContext.allowPrivilegeEscalation

Активация разрешения на эскалацию привилегий в контейнере

false

admissionController.initContainer.securityContext.readOnlyRootFilesystem

Монтирование корневой файловой системы в режиме «только для чтения»

true

admissionController.initContainer.securityContext.capabilities.drop

Список возможностей (capabilities), отзываемых у контейнера

- 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

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

v1.14.5

admissionController.container.image.pullPolicy

Политика загрузки образа admission controller.
Возможные значения: IfNotPresent, Always, Never

IfNotPresent

admissionController.container.resources.limits.memory

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

384Mi

admissionController.container.resources.requests.cpu

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

100m

admissionController.container.resources.requests.memory

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

128Mi

admissionController.container.securityContext.runAsNonRoot

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

true

admissionController.container.securityContext.privileged

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

false

admissionController.container.securityContext.allowPrivilegeEscalation

Активация разрешения на эскалацию привилегий в контейнере

false

admissionController.container.securityContext.readOnlyRootFilesystem

Монтирование корневой файловой системы в режиме «только для чтения»

true

admissionController.container.securityContext.capabilities.drop

Список возможностей (capabilities), отзываемых у контейнера

- ALL

admissionController.container.securityContext.seccompProfile.type

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

RuntimeDefault

admissionController.container.extraArgs

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

{}

admissionController.container.extraEnvVars

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

[]

admissionController.extraInitContainers

Дополнительные init-контейнеры для pod

[]

admissionController.extraContainers

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

[]

admissionController.service.port

Порт Service admission controller

443

admissionController.service.type

Тип Service

ClusterIP

admissionController.service.nodePort

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

~

admissionController.service.annotations

Аннотации, добавляемые ко всем создаваемым ресурсам

{}

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

Аннотации, добавляемые ко всем создаваемым ресурсам

{}

admissionController.networkPolicy.enabled

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

false

admissionController.networkPolicy.ingressFrom

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

[]

admissionController.serviceMonitor.enabled

Активация создания ServiceMonitor для Prometheus Operator

true

admissionController.serviceMonitor.additionalLabels

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

{}

admissionController.serviceMonitor.namespace

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

~

admissionController.serviceMonitor.interval

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

30s

admissionController.serviceMonitor.scrapeTimeout

Тайм-аут сбора метрик

25s

admissionController.serviceMonitor.secure

Требовать TLS для эндпоинта ServiceMonitor admission controller

false

admissionController.serviceMonitor.tlsConfig

Настройки TLS-параметров для безопасного сбора метрик Prometheus по протоколу HTTP

{}

admissionController.serviceMonitor.relabelings

Правила фильтрации и преобразования меток, применяемые к целям сбора до начала сбора метрик

[]

admissionController.serviceMonitor.metricRelabelings

Правила фильтрации и преобразования меток, применяемые к собранным метрикам

[]

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 для metering admission controller

8000

admissionController.metering.collector

Эндпоинт Otel collector для admission controller

''

admissionController.metering.creds

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

''

admissionController.profiling.enabled

Включает profiling admission controller

false

admissionController.profiling.port

Порт profiling эндпоинта admission controller

6060

admissionController.profiling.serviceType

Тип Service для profiling admission controller

ClusterIP

admissionController.profiling.nodePort

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

~

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

Параметр

Описание

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

backgroundController.featuresOverride

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

{}

backgroundController.enabled

Включает background controller

true

backgroundController.rbac.create

Активация автоматического создания ресурсов RBAC

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

Аннотации, добавляемые ко всем создаваемым ресурсам

{}

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.
Пример конфигурации:

- apiGroups:
    - ''
  resources:
    - pods
  verbs:
    - create
    - update
    - delete
    - patch

[]

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

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

v1.14.5

backgroundController.image.pullPolicy

Политика загрузки образа background controller.
Возможные значения: IfNotPresent, Always, Never

IfNotPresent

backgroundController.imagePullSecrets

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

[]

backgroundController.replicas

Количество реплик pod

~

backgroundController.revisionHistoryLimit

Количество предыдущих версий ресурса, сохраняемых для отката

10

backgroundController.resyncPeriod

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

15m

backgroundController.podLabels

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

{}

backgroundController.podAnnotations

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

{}

backgroundController.annotations

Аннотации, добавляемые ко всем создаваемым ресурсам

{}

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

''

backgroundController.hostNetwork

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

false

backgroundController.dnsPolicy

Политика разрешения DNS для pod

ClusterFirst

backgroundController.dnsConfig

Пользовательская конфигурация DNS для pod.
Пример конфигурации:

options:
  - name: ndots
    value: "2"

{}

backgroundController.extraArgs

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

{}

backgroundController.extraEnvVars

Дополнительные переменные окружения для background controller.
Пример конфигурации:

- name: HTTPS_PROXY
  value: 'https://proxy.example.com:3128'

[]

backgroundController.resources.limits.memory

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

128Mi

backgroundController.resources.requests.cpu

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

100m

backgroundController.resources.requests.memory

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

64Mi

backgroundController.nodeSelector

Селектор узлов для планирования pod

{}

backgroundController.tolerations

Toleration для размещения pod на узлах с ограничениями (taints)

[]

backgroundController.antiAffinity.enabled

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

true

backgroundController.podAntiAffinity

Политика anti-affinity для предотвращения размещения реплик на одном узле

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

backgroundController.podAffinity

Политика affinity для совместного размещения с другими pod, соответствующими заданным меткам

{}

backgroundController.nodeAffinity

Правила для привязки pod к узлам, обладающим определенными метками

{}

backgroundController.topologySpreadConstraints

Ограничения топологии для равномерного распределения pod по зонам доступности и узлам

[]

backgroundController.podSecurityContext

Параметры контекста безопасности pod

{}

backgroundController.securityContext.runAsNonRoot

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

true

backgroundController.securityContext.privileged

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

false

backgroundController.securityContext.allowPrivilegeEscalation

Активация разрешения на эскалацию привилегий в контейнере

false

backgroundController.securityContext.readOnlyRootFilesystem

Монтирование корневой файловой системы в режиме «только для чтения»

true

backgroundController.securityContext.capabilities.drop

Список возможностей (capabilities), отзываемых у контейнера

- 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 не задано.
Пример конфигурации:

hostPath:
  path: /etc/pki/tls/ca-certificates.crt
  type: File

{}

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

Аннотации, добавляемые ко всем создаваемым ресурсам

{}

backgroundController.networkPolicy.enabled

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

false

backgroundController.networkPolicy.ingressFrom

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

[]

backgroundController.serviceMonitor.enabled

Активация создания ServiceMonitor для Prometheus Operator

true

backgroundController.serviceMonitor.additionalLabels

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

{}

backgroundController.serviceMonitor.namespace

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

~

backgroundController.serviceMonitor.interval

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

30s

backgroundController.serviceMonitor.scrapeTimeout

Тайм-аут сбора метрик

25s

backgroundController.serviceMonitor.secure

Требовать TLS для эндпоинта ServiceMonitor background controller

false

backgroundController.serviceMonitor.tlsConfig

Настройки TLS-параметров для безопасного сбора метрик Prometheus по протоколу HTTP

{}

backgroundController.serviceMonitor.relabelings

Правила фильтрации и преобразования меток, применяемые к целям сбора до начала сбора метрик

[]

backgroundController.serviceMonitor.metricRelabelings

Правила фильтрации и преобразования меток, применяемые к собранным метрикам

[]

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 для metering background controller

8000

backgroundController.metering.collector

Эндпоинт 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 эндпоинта background controller

6060

backgroundController.profiling.serviceType

Тип Service для profiling background controller

ClusterIP

backgroundController.profiling.nodePort

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

~

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

Параметр

Описание

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

cleanupController.featuresOverride

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

{}

cleanupController.enabled

Включает cleanup controller

true

cleanupController.rbac.create

Активация автоматического создания ресурсов RBAC

true

cleanupController.rbac.serviceAccount.name

Имя ServiceAccount для cleanup controller

~

cleanupController.rbac.serviceAccount.annotations

Аннотации, добавляемые ко всем создаваемым ресурсам

{}

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

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

v1.14.5

cleanupController.image.pullPolicy

Политика загрузки образа cleanup controller.
Возможные значения: IfNotPresent, Always, Never

IfNotPresent

cleanupController.imagePullSecrets

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

[]

cleanupController.replicas

Количество реплик pod

~

cleanupController.revisionHistoryLimit

Количество предыдущих версий ресурса, сохраняемых для отката

10

cleanupController.resyncPeriod

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

15m

cleanupController.podLabels

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

{}

cleanupController.podAnnotations

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

{}

cleanupController.annotations

Аннотации, добавляемые ко всем создаваемым ресурсам

{}

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

''

cleanupController.hostNetwork

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

false

cleanupController.server.port

Порт server cleanup controller

9443

cleanupController.webhookServer.port

Порт Webhook server cleanup controller

9443

cleanupController.dnsPolicy

Политика разрешения DNS для pod

ClusterFirst

cleanupController.dnsConfig

Пользовательская конфигурация DNS для pod

{}

cleanupController.extraArgs

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

{}

cleanupController.extraEnvVars

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

[]

cleanupController.resources.limits.memory

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

128Mi

cleanupController.resources.requests.cpu

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

100m

cleanupController.resources.requests.memory

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

64Mi

cleanupController.startupProbe.httpGet.path

HTTP-путь, используемый при проверке запуска

/health/liveness

cleanupController.startupProbe.httpGet.port

Имя порта, используемого при проверке запуска

9443

cleanupController.startupProbe.httpGet.scheme

Схема обращения для проверки запуска

HTTPS

cleanupController.startupProbe.failureThreshold

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

20

cleanupController.startupProbe.initialDelaySeconds

Задержка в секундах перед первой стартовой проверкой

2

cleanupController.startupProbe.periodSeconds

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

6

cleanupController.livenessProbe.httpGet.path

HTTP-путь для проверки работоспособности контейнера

/health/liveness

cleanupController.livenessProbe.httpGet.port

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

9443

cleanupController.livenessProbe.httpGet.scheme

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

HTTPS

cleanupController.livenessProbe.initialDelaySeconds

Задержка в секундах перед первой проверкой работоспособности

15

cleanupController.livenessProbe.periodSeconds

Интервал в секундах между проверками работоспособности

30

cleanupController.livenessProbe.timeoutSeconds

Тайм-аут ожидания проверки работоспособности

5

cleanupController.livenessProbe.failureThreshold

Количество неудачных попыток до перевода контейнера в статус NotReady

2

cleanupController.livenessProbe.successThreshold

Количество успешных попыток для подтверждения работоспособности

1

cleanupController.readinessProbe.httpGet.path

HTTP-путь, используемый при проверке готовности

/health/readiness

cleanupController.readinessProbe.httpGet.port

Имя порта, используемого при проверке готовности

9443

cleanupController.readinessProbe.httpGet.scheme

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

HTTPS

cleanupController.readinessProbe.initialDelaySeconds

Задержка в секундах перед первой проверкой готовности

5

cleanupController.readinessProbe.periodSeconds

Интервал в секундах между проверками готовности

10

cleanupController.readinessProbe.timeoutSeconds

Тайм-аут ожидания проверки готовности

5

cleanupController.readinessProbe.failureThreshold

Количество неудачных попыток до перевода контейнера в статус NotReady

6

cleanupController.readinessProbe.successThreshold

Количество успешных попыток для подтверждения готовности

1

cleanupController.nodeSelector

Селектор узлов для планирования pod

{}

cleanupController.tolerations

Toleration для размещения pod на узлах с ограничениями (taints)

[]

cleanupController.antiAffinity.enabled

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

true

cleanupController.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution

Политика anti-affinity для предотвращения размещения реплик на одном узле

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

cleanupController.podAffinity

Политика affinity для совместного размещения с другими pod, соответствующими заданным меткам

{}

cleanupController.nodeAffinity

Правила для привязки pod к узлам, обладающим определенными метками

{}

cleanupController.topologySpreadConstraints

Ограничения топологии для равномерного распределения pod по зонам доступности и узлам

[]

cleanupController.podSecurityContext

Параметры контекста безопасности pod

{}

cleanupController.securityContext.runAsNonRoot

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

true

cleanupController.securityContext.privileged

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

false

cleanupController.securityContext.allowPrivilegeEscalation

Активация разрешения на эскалацию привилегий в контейнере

false

cleanupController.securityContext.readOnlyRootFilesystem

Монтирование корневой файловой системы в режиме «только для чтения»

true

cleanupController.securityContext.capabilities.drop

Список возможностей (capabilities), отзываемых у контейнера

- 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

ClusterIP

cleanupController.service.nodePort

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

~

cleanupController.service.annotations

Аннотации, добавляемые ко всем создаваемым ресурсам

{}

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

Аннотации, добавляемые ко всем создаваемым ресурсам

{}

cleanupController.networkPolicy.enabled

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

false

cleanupController.networkPolicy.ingressFrom

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

[]

cleanupController.serviceMonitor.enabled

Активация создания ServiceMonitor для Prometheus Operator

true

cleanupController.serviceMonitor.additionalLabels

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

{}

cleanupController.serviceMonitor.namespace

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

~

cleanupController.serviceMonitor.interval

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

30s

cleanupController.serviceMonitor.scrapeTimeout

Тайм-аут сбора метрик

25s

cleanupController.serviceMonitor.secure

Требовать TLS для эндпоинта ServiceMonitor cleanup controller

false

cleanupController.serviceMonitor.tlsConfig

Настройки TLS-параметров для безопасного сбора метрик Prometheus по протоколу HTTP

{}

cleanupController.serviceMonitor.relabelings

Правила фильтрации и преобразования меток, применяемые к целям сбора до начала сбора метрик

[]

cleanupController.serviceMonitor.metricRelabelings

Правила фильтрации и преобразования меток, применяемые к собранным метрикам

[]

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 для metering cleanup controller

8000

cleanupController.metering.collector

Эндпоинт Otel collector для cleanup controller

''

cleanupController.metering.creds

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

''

cleanupController.profiling.enabled

Включает profiling cleanup controller

false

cleanupController.profiling.port

Порт profiling эндпоинта cleanup controller

6060

cleanupController.profiling.serviceType

Тип Service для profiling cleanup controller

ClusterIP

cleanupController.profiling.nodePort

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

~

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

Параметр

Описание

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

reportsController.featuresOverride

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

{}

reportsController.enabled

Включает reports controller

true

reportsController.rbac.create

Активация автоматического создания ресурсов RBAC

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

Аннотации, добавляемые ко всем создаваемым ресурсам

{}

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

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

v1.14.5

reportsController.image.pullPolicy

Политика загрузки образа reports controller.
Возможные значения: IfNotPresent, Always, Never

IfNotPresent

reportsController.imagePullSecrets

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

[]

reportsController.replicas

Количество реплик pod

~

reportsController.revisionHistoryLimit

Количество предыдущих версий ресурса, сохраняемых для отката

10

reportsController.resyncPeriod

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

15m

reportsController.podLabels

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

{}

reportsController.podAnnotations

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

{}

reportsController.annotations

Аннотации, добавляемые ко всем создаваемым ресурсам

{}

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

''

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 для pod

ClusterFirst

reportsController.dnsConfig

Пользовательская конфигурация DNS для pod

{}

reportsController.extraArgs

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

{}

reportsController.extraEnvVars

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

[]

reportsController.resources.limits.memory

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

128Mi

reportsController.resources.requests.cpu

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

100m

reportsController.resources.requests.memory

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

64Mi

reportsController.nodeSelector

Селектор узлов для планирования pod

{}

reportsController.tolerations

Toleration для размещения pod на узлах с ограничениями (taints)

[]

reportsController.antiAffinity.enabled

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

true

reportsController.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution

Политика anti-affinity для предотвращения размещения реплик на одном узле

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

reportsController.podAffinity

Политика affinity для совместного размещения с другими pod, соответствующими заданным меткам

{}

reportsController.nodeAffinity

Правила для привязки pod к узлам, обладающим определенными метками

{}

reportsController.topologySpreadConstraints

Ограничения топологии для равномерного распределения pod по зонам доступности и узлам

[]

reportsController.podSecurityContext

Параметры контекста безопасности pod

{}

reportsController.securityContext.runAsNonRoot

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

true

reportsController.securityContext.privileged

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

false

reportsController.securityContext.allowPrivilegeEscalation

Активация разрешения на эскалацию привилегий в контейнере

false

reportsController.securityContext.readOnlyRootFilesystem

Монтирование корневой файловой системы в режиме «только для чтения»

true

reportsController.securityContext.capabilities.drop

Список возможностей (capabilities), отзываемых у контейнера

- 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 в 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

Аннотации, добавляемые ко всем создаваемым ресурсам

{}

reportsController.networkPolicy.enabled

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

false

reportsController.networkPolicy.ingressFrom

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

[]

reportsController.serviceMonitor.enabled

Активация создания ServiceMonitor для Prometheus Operator

true

reportsController.serviceMonitor.additionalLabels

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

{}

reportsController.serviceMonitor.namespace

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

~

reportsController.serviceMonitor.interval

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

30s

reportsController.serviceMonitor.scrapeTimeout

Тайм-аут сбора метрик

25s

reportsController.serviceMonitor.secure

Требовать TLS для эндпоинта ServiceMonitor reports controller

false

reportsController.serviceMonitor.tlsConfig

Настройки TLS-параметров для безопасного сбора метрик Prometheus по протоколу HTTP

{}

reportsController.serviceMonitor.relabelings

Правила фильтрации и преобразования меток, применяемые к целям сбора до начала сбора метрик

[]

reportsController.serviceMonitor.metricRelabelings

Правила фильтрации и преобразования меток, применяемые к собранным метрикам

[]

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 для metering reports controller

8000

reportsController.metering.collector

Эндпоинт 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 эндпоинта 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