OperationPolicy

Scope: Cluster
Version: v1alpha1

Описывает операционную политику для кластера.

Каждый ресурс OperationPolicy описывает правила для объектов в кластере.

  • specобъект

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

    • spec.matchобъект

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

      • spec.match.labelSelectorобъект

        Указывает селектор лейблов для фильтрации Pod’ов.

        Больше информации в документации.

        • spec.match.labelSelector.matchExpressionsмассив объектов

          Список выражений лейблов для Pod’ов.

          Пример:

          matchExpressions:
          - key: tier
            operator: In
            values:
            - production
            - staging
          
          • spec.match.labelSelector.matchExpressions.keyстрока

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

          • spec.match.labelSelector.matchExpressions.operatorстрока

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

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

          • spec.match.labelSelector.matchExpressions.valuesмассив строк
        • spec.match.labelSelector.matchLabelsобъект

          Список лейблов, которые должен иметь Pod.

          Пример:

          matchLabels:
            foo: bar
            baz: who
          
      • spec.match.namespaceSelectorобъект

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

        Указывает селектор пространства имен для фильтрации объектов.

        • spec.match.namespaceSelector.excludeNamesмассив строк

          Включить все пространства имен, кроме определенного набора.

        • spec.match.namespaceSelector.labelSelectorобъект

          Указывает селектор меток для фильтрации пространств имен.

          Больше информации в документации.

          • spec.match.namespaceSelector.labelSelector.matchExpressionsмассив объектов

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

            Пример:

            matchExpressions:
            - key: tier
              operator: In
              values:
              - production
              - staging
            
            • spec.match.namespaceSelector.labelSelector.matchExpressions.keyстрока

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

            • spec.match.namespaceSelector.labelSelector.matchExpressions.operatorстрока

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

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

            • spec.match.namespaceSelector.labelSelector.matchExpressions.valuesмассив строк
          • spec.match.namespaceSelector.labelSelector.matchLabelsобъект

            Список лейблов, которые должно иметь пространство имен.

            Пример:

            matchLabels:
              foo: bar
              baz: who
            
        • spec.match.namespaceSelector.matchNamesмассив строк

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

    • spec.policiesобъект

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

      • spec.policies.allowedReposмассив строк

        Список префиксов, которые может иметь образ контейнера.

        • Элемент массивастрока

          Пример:

          - registry.deckhouse.io
          
      • spec.policies.checkContainerDuplicatesбулевый

        Проверка имена контейнеров и переменные env на наличие дубликатов.

      • spec.policies.checkHostNetworkDNSPolicyбулевый

        Проверка, что dnsPolicy ClusterFirstWithHostNet установлена для Pod’ов с hostNetwork: true.

      • spec.policies.disallowedImageTagsмассив строк

        Требует, чтобы образы контейнера имели тег, отличный от указанных в списке.

        Пример:

        disallowedImageTags:
        - latest
        
      • spec.policies.imagePullPolicyстрока

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

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

      • spec.policies.maxRevisionHistoryLimitцелочисленный

        Максимальное значение для истории ревизий.

      • spec.policies.priorityClassNamesмассив строк

        List of allowed priority class names.

      • spec.policies.requiredLabelsобъект

        Список лейблов, которые должен указать объект.

        • spec.policies.requiredLabels.labelsмассив объектов
          • spec.policies.requiredLabels.labels.allowedRegexстрока

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

          • spec.policies.requiredLabels.labels.keyстрока

            Требуемый лейбл.

        • spec.policies.requiredLabels.watchKindsмассив строк

          Список объектов Kubernetes в формате $apiGroup/$kind для просмотра меток.

          • Элемент массивастрока

            Шаблон: ^[a-z]?/[a-zA-Z]+$

            Пример:

            - apps/Deployment
            - "/Pod"
            - networking.k8s.io/Ingress
            
      • spec.policies.requiredProbesмассив строк

        Список проб, которые необходимы (например, readinessProbe).

        Пример:

        requiredProbes:
        - livenessProbe
        - readinessProbe
        
        • Элемент массивастрока

          Допустимые значения: livenessProbe, readinessProbe, startupProbe

      • spec.policies.requiredResourcesобъект

        Набор ресурсов, который требуют контейнеры.

        • spec.policies.requiredResources.limitsмассив строк

          Список ограничений, которые должны соблюдаться (процессор, память или оба).

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

          • Элемент массивастрока

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

        • spec.policies.requiredResources.requestsмассив строк

          Список запросов, которые должны быть выполнены (вычислительная мощность, память или и то, и другое).

          По умолчанию: ["cpu","memory"]

          • Элемент массивастрока

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