Spec-Zone.ru › Kubernetes

ValidatingWebhookConfiguration

ValidatingWebhookConfiguration описывает конфигурацию веб-перехватчика допуска, который принимает или отклоняет объект, не изменяя его.

apiVersion: admissionregistration.k8s.io/v1

import "k8s.io/api/admissionregistration/v1"

ValidatingWebhookConfiguration

ValidatingWebhookConfiguration описывает конфигурацию веб-перехватчика допуска, который принимает или отклоняет объект, не изменяя его.

Поле Описание
apiVersion
string
APIVersion определяет версионированную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind
string
Kind — строковое значение, представляющее ресурс REST, который представляет этот объект. Серверы могут определить его по конечной точке, на которую клиент отправляет запросы. Не может быть обновлено. В CamelCase. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ObjectMeta
metadata — стандартные метаданные объекта. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
webhooks
ValidatingWebhook array
стратегия исправления: слияние по ключу name
webhooks — список веб-перехватчиков, затрагиваемых ресурсов и операций.

ValidatingWebhookConfigurationList

ValidatingWebhookConfigurationList — это список ValidatingWebhookConfiguration.

Поле Описание
apiVersion
string
APIVersion определяет версионированную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
items *
ValidatingWebhookConfiguration array
Список ValidatingWebhookConfiguration.
kind
string
Kind — строковое значение, представляющее ресурс REST, который представляет этот объект. Серверы могут определить его по конечной точке, на которую клиент отправляет запросы. Не может быть обновлено. В CamelCase. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ListMeta
metadata — стандартные метаданные списка. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

ValidatingWebhook

ValidatingWebhook описывает веб-перехватчик допуска, а также ресурсы и операции, к которым он применяется.

Поле Описание
admissionReviewVersions *
string array
admissionReviewVersions — упорядоченный список предпочтительных версий `AdmissionReview`, которые ожидает веб-перехватчик. Сервер API попытается использовать первую версию из списка, которую он поддерживает. Если сервер API не поддерживает ни одну из версий, указанных в этом списке, проверка этого объекта завершится ошибкой. Если в сохраненной конфигурации веб-перехватчика указаны разрешенные версии, но среди них нет версий, известных серверу API, вызовы веб-перехватчика завершатся ошибкой, и к ним будет применена политика обработки ошибок.
clientConfig *
WebhookClientConfig
clientConfig определяет способ взаимодействия с веб-перехватчиком. Обязательное поле.
failurePolicy
string
failurePolicy определяет способ обработки нераспознанных ошибок конечной точки допуска. Допустимые значения — Ignore или Fail. По умолчанию — Fail.

Возможные значения перечисления:
- `"Fail"` означает, что ошибка при вызове веб-перехватчика приводит к сбою допуска.
- `"Ignore"` означает, что ошибка при вызове веб-перехватчика игнорируется.
matchConditions
MatchCondition array
стратегия исправления: слияние по ключу name
matchConditions — список условий, которые должны быть выполнены, чтобы запрос был отправлен этому веб-перехватчику. Условия соответствия фильтруют запросы, уже соответствующие правилам, namespaceSelector и objectSelector. Пустой список matchConditions соответствует всем запросам. Допускается не более 64 условий соответствия. Точная логика сопоставления такова (в указанном порядке): 1. Если ЛЮБОЕ условие matchCondition имеет значение FALSE, веб-перехватчик пропускается. 2. Если ВСЕ условия matchCondition имеют значение TRUE, вызывается веб-перехватчик. 3. Если какое-либо условие matchCondition приводит к ошибке (но ни одно не имеет значение FALSE): - Если failurePolicy=Fail, запрос отклоняется - Если failurePolicy=Ignore, ошибка игнорируется, а веб-перехватчик пропускается
matchPolicy
string
matchPolicy определяет, как список "rules" используется для сопоставления входящих запросов. Допустимые значения — "Exact" или "Equivalent". - Exact: сопоставлять запрос, только если он точно соответствует указанному правилу. Например, если deployments можно изменять через apps/v1, apps/v1beta1 и extensions/v1beta1, но в "rules" включено только `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, запрос к apps/v1beta1 или extensions/v1beta1 не будет отправлен веб-перехватчику. - Equivalent: сопоставлять запрос, если он изменяет ресурс, указанный в rules, даже через другую группу или версию API. Например, если deployments можно изменять через apps/v1, apps/v1beta1 и extensions/v1beta1, а в "rules" включено только `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, запрос к apps/v1beta1 или extensions/v1beta1 будет преобразован в apps/v1 и отправлен веб-перехватчику. По умолчанию — "Equivalent"

Возможные значения перечисления:
- `"Equivalent"` означает, что запросы следует отправлять веб-перехватчику, если они изменяют ресурс, указанный в rules, через другую группу или версию API.
- `"Exact"` означает, что запросы следует отправлять веб-перехватчику, только если они точно соответствуют заданному правилу.
name *
string
name — имя веб-перехватчика допуска. Имя должно быть полностью квалифицированным, например imagepolicy.kubernetes.io, где "imagepolicy" — имя веб-перехватчика, а kubernetes.io — имя организации. Обязательное поле.
namespaceSelector
LabelSelector
namespaceSelector определяет, следует ли запускать веб-перехватчик для объекта, исходя из того, соответствует ли пространство имен этого объекта селектору. Если сам объект является пространством имен, сопоставление выполняется по object.metadata.labels. Если объект является другим ресурсом с областью действия кластера, веб-перехватчик никогда не пропускается. Например, чтобы запускать веб-перехватчик для любых объектов, пространство имен которых не связано с "runlevel" со значением "0" или "1", задайте селектор следующим образом: "namespaceSelector": { "matchExpressions": [ { "key": "runlevel", "operator": "NotIn", "values": [ "0", "1" ] } ] } Если же требуется запускать веб-перехватчик только для объектов, пространство имен которых связано с "environment" со значением "prod" или "staging", задайте селектор следующим образом: "namespaceSelector": { "matchExpressions": [ { "key": "environment", "operator": "In", "values": [ "prod", "staging" ] } ] } Дополнительные примеры селекторов меток см. на странице https://kubernetes.io/docs/concepts/overview/working-with-objects/labels. По умолчанию используется пустой LabelSelector, которому соответствует всё.
objectSelector
LabelSelector
objectSelector определяет, следует ли запускать веб-перехватчик, исходя из того, есть ли у объекта соответствующие метки. objectSelector проверяется как для oldObject, так и для newObject, которые будут переданы веб-перехватчику, и считается соответствующим, если селектору соответствует любой из этих объектов. Пустой объект (oldObject при создании или newObject при удалении) либо объект, у которого не может быть меток (например, DeploymentRollback или объект PodProxyOptions), не считается соответствующим. Используйте селектор объектов только в том случае, если участие веб-перехватчика допуска можно включить по желанию, поскольку конечные пользователи могут обойти веб-перехватчик допуска, задав метки. По умолчанию используется пустой LabelSelector, которому соответствует всё.
rules
RuleWithOperations array
rules описывает операции с ресурсами и подресурсами, которые учитывает веб-перехватчик. Веб-перехватчик учитывает операцию, если она соответствует _любому_ правилу. Однако, чтобы ValidatingAdmissionWebhooks и MutatingAdmissionWebhooks не могли привести кластер в состояние, из которого невозможно восстановиться без полного отключения плагина, ValidatingAdmissionWebhooks и MutatingAdmissionWebhooks никогда не вызываются для запросов допуска объектов ValidatingWebhookConfiguration и MutatingWebhookConfiguration.
sideEffects *
string
sideEffects указывает, имеет ли этот веб-перехватчик побочные эффекты. Допустимые значения: None, NoneOnDryRun (веб-перехватчики, созданные с помощью v1beta1, также могут указывать Some или Unknown). Веб-перехватчики с побочными эффектами ДОЛЖНЫ реализовывать систему согласования, поскольку запрос может быть отклонен на последующем этапе цепочки допуска, и поэтому побочные эффекты необходимо будет отменить. Запросы с атрибутом dryRun будут автоматически отклонены, если они соответствуют веб-перехватчику с sideEffects == Unknown или Some.

Возможные значения перечисления:
- `"None"` означает, что вызов веб-перехватчика не приведет к побочным эффектам.
- `"NoneOnDryRun"` означает, что вызов веб-перехватчика может иметь побочные эффекты, но если проверяемый запрос имеет атрибут dry-run, побочные эффекты будут подавлены.
- `"Some"` означает, что вызов веб-перехватчика может иметь побочные эффекты. Если запрос с атрибутом dry-run должен был бы вызвать этот веб-перехватчик, запрос вместо этого завершится ошибкой.
- `"Unknown"` означает, что информация о побочных эффектах вызова веб-перехватчика отсутствует. Если запрос с атрибутом dry-run должен был бы вызвать этот веб-перехватчик, запрос вместо этого завершится ошибкой.
timeoutSeconds
integer
timeoutSeconds задает время ожидания для этого веб-перехватчика. По истечении этого времени вызов веб-перехватчика будет проигнорирован или вызов API завершится ошибкой в зависимости от политики обработки ошибок. Значение тайм-аута должно составлять от 1 до 30 секунд. По умолчанию — 10 секунд.

© 2026 The Kubernetes Authors | Documentation Distributed under CC BY 4.0
Copyright © 2026 The Linux Foundation ®. All rights reserved.
https://kubernetes.io/docs/reference/kubernetes-api/admissionregistration/validating-webhook-configuration-v1/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API