ValidatingWebhookConfiguration
ValidatingWebhookConfiguration описывает конфигурацию веб-перехватчика допуска, который принимает или отклоняет объект, не изменяя его.
apiVersion: admissionregistration.k8s.io/v1
import "k8s.io/api/admissionregistration/v1"
ValidatingWebhookConfiguration
ValidatingWebhookConfiguration описывает конфигурацию веб-перехватчика допуска, который принимает или отклоняет объект, не изменяя его.
| Поле | Описание |
|---|---|
apiVersionstring |
APIVersion определяет версионированную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
kindstring |
Kind — строковое значение, представляющее ресурс REST, который представляет этот объект. Серверы могут определить его по конечной точке, на которую клиент отправляет запросы. Не может быть обновлено. В CamelCase. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
metadataObjectMeta |
metadata — стандартные метаданные объекта. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata. |
webhooksValidatingWebhook array стратегия исправления: слияние по ключу name
|
webhooks — список веб-перехватчиков, затрагиваемых ресурсов и операций. |
ValidatingWebhookConfigurationList
ValidatingWebhookConfigurationList — это список ValidatingWebhookConfiguration.
| Поле | Описание |
|---|---|
apiVersionstring |
APIVersion определяет версионированную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
items *ValidatingWebhookConfiguration array |
Список ValidatingWebhookConfiguration. |
kindstring |
Kind — строковое значение, представляющее ресурс REST, который представляет этот объект. Серверы могут определить его по конечной точке, на которую клиент отправляет запросы. Не может быть обновлено. В CamelCase. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
metadataListMeta |
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 определяет способ взаимодействия с веб-перехватчиком. Обязательное поле. |
failurePolicystring |
failurePolicy определяет способ обработки нераспознанных ошибок конечной точки допуска. Допустимые значения — Ignore или Fail. По умолчанию — Fail. Возможные значения перечисления: - `"Fail"` означает, что ошибка при вызове веб-перехватчика приводит к сбою допуска. - `"Ignore"` означает, что ошибка при вызове веб-перехватчика игнорируется. |
matchConditionsMatchCondition array стратегия исправления: слияние по ключу name
|
matchConditions — список условий, которые должны быть выполнены, чтобы запрос был отправлен этому веб-перехватчику. Условия соответствия фильтруют запросы, уже соответствующие правилам, namespaceSelector и objectSelector. Пустой список matchConditions соответствует всем запросам. Допускается не более 64 условий соответствия. Точная логика сопоставления такова (в указанном порядке): 1. Если ЛЮБОЕ условие matchCondition имеет значение FALSE, веб-перехватчик пропускается. 2. Если ВСЕ условия matchCondition имеют значение TRUE, вызывается веб-перехватчик. 3. Если какое-либо условие matchCondition приводит к ошибке (но ни одно не имеет значение FALSE): - Если failurePolicy=Fail, запрос отклоняется - Если failurePolicy=Ignore, ошибка игнорируется, а веб-перехватчик пропускается |
matchPolicystring |
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 — имя организации. Обязательное поле. |
namespaceSelectorLabelSelector |
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, которому соответствует всё. |
objectSelectorLabelSelector |
objectSelector определяет, следует ли запускать веб-перехватчик, исходя из того, есть ли у объекта соответствующие метки. objectSelector проверяется как для oldObject, так и для newObject, которые будут переданы веб-перехватчику, и считается соответствующим, если селектору соответствует любой из этих объектов. Пустой объект (oldObject при создании или newObject при удалении) либо объект, у которого не может быть меток (например, DeploymentRollback или объект PodProxyOptions), не считается соответствующим. Используйте селектор объектов только в том случае, если участие веб-перехватчика допуска можно включить по желанию, поскольку конечные пользователи могут обойти веб-перехватчик допуска, задав метки. По умолчанию используется пустой LabelSelector, которому соответствует всё. |
rulesRuleWithOperations 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 должен был бы вызвать этот веб-перехватчик, запрос вместо этого завершится ошибкой. |
timeoutSecondsinteger |
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/