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.matchExpressions.keyстрока
- spec.match.labelSelector.matchLabelsобъект
Список лейблов, которые должен иметь Pod.
Пример:
matchLabels: foo: bar baz: who
- spec.match.labelSelector.matchExpressionsмассив объектов
- 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.matchExpressions.keyстрока
- spec.match.namespaceSelector.labelSelector.matchLabelsобъект
Список лейблов, которые должно иметь пространство имен.
Пример:
matchLabels: foo: bar baz: who
- spec.match.namespaceSelector.labelSelector.matchExpressionsмассив объектов
- spec.match.namespaceSelector.matchNamesмассив строк
Включать только определенный набор пространств имен.
- spec.match.namespaceSelector.excludeNamesмассив строк
- spec.match.labelSelectorобъект
- spec.policiesобъект
Обязательный параметр
- spec.policies.allowedReposмассив строк
Список префиксов, которые может иметь образ контейнера.
- Элемент массивастрока
Пример:
- registry.deckhouse.io
- Элемент массивастрока
- spec.policies.checkContainerDuplicatesбулевый
Проверка имена контейнеров и переменные env на наличие дубликатов.
- spec.policies.checkHostNetworkDNSPolicyбулевый
Проверка, что dnsPolicy
ClusterFirstWithHostNet
установлена для Pod’ов сhostNetwork: true
. - массив строк
Требует, чтобы образы контейнера имели тег, отличный от указанных в списке.
Пример:
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.labels.allowedRegexстрока
- spec.policies.requiredLabels.watchKindsмассив строк
Список объектов Kubernetes в формате
$apiGroup/$kind
для просмотра меток.- Элемент массивастрока
Шаблон:
^[a-z]?/[a-zA-Z]+$
Пример:
- apps/Deployment - "/Pod" - networking.k8s.io/Ingress
- Элемент массивастрока
- spec.policies.requiredLabels.labelsмассив объектов
- 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
- Элемент массивастрока
- spec.policies.requiredResources.limitsмассив строк
- spec.policies.allowedReposмассив строк
- spec.matchобъект