Модуль анализа конфигураций приложений

Модуль анализа конфигураций приложений предназначен для анализа ресурсов кластера на соответствие настроенным политикам. Модуль поддерживает несколько типов политик.

  • Generate - Политика добавляет в создаваемый ресурс необходимые данные/конфигурации
  • Mutate - Политика изменяет создаваемый ресурс.
  • Validate - Политика проверяет создаваемый ресурс.

По умолчанию в платформе предустановлены следующие политики в конфигурации “Validate”. Подробное описание можно посмотреть на странице манифесты.

Пример политики для мутации ресурса, использующего imagePullPolicy: Always:

apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
  name: always-pull-images
  annotations:
    policies.kyverno.io/title: Always Pull Images
    policies.kyverno.io/category: Sample
    policies.kyverno.io/severity: medium
    policies.kyverno.io/subject: Pod
    policies.kyverno.io/minversion: 1.6.0
    policies.kyverno.io/description: >-
      By default, images that have already been pulled can be accessed by other
      Pods without re-pulling them if the name and tag are known. In multi-tenant scenarios,
      this may be undesirable. This policy mutates all incoming Pods to set their
      imagePullPolicy to Always. An alternative to the Kubernetes admission controller
      AlwaysPullImages.
spec:
  rules:
  - name: always-pull-images
    match:
      any:
      - resources:
          kinds:
          - Pod
    mutate:
      patchStrategicMerge:
        spec:
          containers:
          - (name): "?*"
            imagePullPolicy: Always