×

规范

属性 类型 描述

apiVersion

字符串

APIVersion 定义了对象的此表示形式的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

字符串

Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。无法更新。使用驼峰式大小写。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

标准对象元数据;更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

对象

ValidatingAdmissionPolicySpec 是 AdmissionPolicy 期望行为的规范。

status

对象

ValidatingAdmissionPolicyStatus 表示准入验证策略的状态。

.spec

描述

ValidatingAdmissionPolicySpec 是 AdmissionPolicy 期望行为的规范。

类型

对象

属性 类型 描述

auditAnnotations

数组

auditAnnotations 包含用于为 API 请求的审计事件生成审计注释的 CEL 表达式。validations 和 auditAnnotations 不能同时为空;至少需要 validations 或 auditAnnotations 之一。

auditAnnotations[]

对象

AuditAnnotation 描述了如何为 API 请求生成审计注释。

failurePolicy

字符串

failurePolicy 定义了如何处理准入策略的失败。失败可能来自 CEL 表达式解析错误、类型检查错误、运行时错误以及无效或配置错误的策略定义或绑定。

如果 spec.paramKind 指的是不存在的 Kind,则策略无效。如果 spec.paramRef.name 指的是不存在的资源,则绑定无效。

failurePolicy 没有定义如何处理评估结果为 false 的验证。

当 failurePolicy 设置为 Fail 时,ValidatingAdmissionPolicyBinding validationActions 定义了如何强制执行失败。

允许的值为 Ignore 或 Fail。默认为 Fail。

可能的枚举值:- `“Fail”` 表示调用 webhook 发生的错误会导致准入失败。- `“Ignore”` 表示忽略调用 webhook 发生的错误。

matchConditions

数组

MatchConditions 是必须满足才能验证请求的条件列表。匹配条件筛选已经通过规则、namespaceSelector 和 objectSelector 匹配的请求。空的 matchConditions 列表匹配所有请求。最多允许 64 个匹配条件。

如果提供了参数对象,则可以通过与验证表达式相同的方式通过 `params` 句柄访问它。

精确匹配逻辑(按顺序):1. 如果任何 matchCondition 评估结果为 FALSE,则跳过策略。2. 如果所有 matchConditions 评估结果为 TRUE,则评估策略。3. 如果任何 matchCondition 评估结果为错误(但没有一个是 FALSE):- 如果 failurePolicy=Fail,则拒绝请求 - 如果 failurePolicy=Ignore,则跳过策略

matchConditions[]

对象

MatchCondition 表示必须满足才能将请求发送到 webhook 的条件。

matchConstraints

对象

MatchResources 根据对象是否满足匹配条件来决定是否在对象上运行准入控制策略。排除规则优先于包含规则(如果资源同时匹配两者,则将其排除)

paramKind

对象

ParamKind 是组 Kind 和版本的元组。

validations

数组

Validations 包含用于应用验证的 CEL 表达式。Validations 和 AuditAnnotations 不能同时为空;至少需要一个 Validations 或 AuditAnnotations。

validations[]

对象

Validation 指定用于应用验证的 CEL 表达式。

variables

数组

变量包含可在组合其他表达式时使用的变量定义。每个变量都定义为一个命名的 CEL 表达式。此处定义的变量将在策略的其他表达式(MatchConditions 除外)中的variables下可用,因为 MatchConditions 在策略的其余部分之前进行评估。

变量的表达式可以引用列表中前面定义的其他变量,但不能引用后面的变量。因此,变量必须按首次出现的顺序排序且必须是无环的。

variables[]

对象

变量是用于组合的变量定义。变量定义为一个命名表达式。

.spec.auditAnnotations

描述

auditAnnotations 包含用于为 API 请求的审计事件生成审计注释的 CEL 表达式。validations 和 auditAnnotations 不能同时为空;至少需要 validations 或 auditAnnotations 之一。

类型

数组

.spec.auditAnnotations[]

描述

AuditAnnotation 描述了如何为 API 请求生成审计注释。

类型

对象

必填
  • 值表达式

属性 类型 描述

字符串

键指定审计注释键。有效验证准入策略的审计注释键必须唯一。键必须是限定名([A-Za-z0-9][-A-Za-z0-9_.]*),长度不超过 63 字节。

键与验证准入策略的资源名称组合在一起以构建审计注释键:“{验证准入策略名称}/{键}”。

如果准入 Webhook 使用与该验证准入策略相同的资源名称和相同的审计注释键,则注释键将相同。在这种情况下,使用该键写入的第一个注释将包含在审计事件中,所有后续使用相同键的注释都将被丢弃。

必填。

值表达式

字符串

valueExpression 表示由 CEL 评估以生成审计注释值的表达式。表达式必须计算为字符串或 null 值。如果表达式计算为字符串,则审计注释将包含字符串值。如果表达式计算为 null 或空字符串,则将省略审计注释。valueExpression 的长度不得超过 5kb。如果 valueExpression 的结果长度超过 10kb,则将其截断为 10kb。

如果多个 ValidatingAdmissionPolicyBinding 资源匹配 API 请求,则将针对每个绑定评估 valueExpression。由 valueExpression 生成的所有唯一值将以逗号分隔的列表形式组合在一起。

必填。

.spec.matchConditions

描述

MatchConditions 是必须满足才能验证请求的条件列表。匹配条件筛选已经通过规则、namespaceSelector 和 objectSelector 匹配的请求。空的 matchConditions 列表匹配所有请求。最多允许 64 个匹配条件。

如果提供了参数对象,则可以通过与验证表达式相同的方式通过 `params` 句柄访问它。

精确匹配逻辑(按顺序):1. 如果任何 matchCondition 评估结果为 FALSE,则跳过策略。2. 如果所有 matchConditions 评估结果为 TRUE,则评估策略。3. 如果任何 matchCondition 评估结果为错误(但没有一个是 FALSE):- 如果 failurePolicy=Fail,则拒绝请求 - 如果 failurePolicy=Ignore,则跳过策略

类型

数组

.spec.matchConditions[]

描述

MatchCondition 表示必须满足才能将请求发送到 webhook 的条件。

类型

对象

必填
  • 名称

  • 表达式

属性 类型 描述

表达式

字符串

表达式表示将由 CEL 评估的表达式。必须计算为布尔值。CEL 表达式可以访问 AdmissionRequest 和 Authorizer 的内容,这些内容被组织成 CEL 变量

'object' - 来自传入请求的对象。对于 DELETE 请求,该值为 null。'oldObject' - 现有对象。对于 CREATE 请求,该值为 null。'request' - 准入请求的属性(/pkg/apis/admission/types.go#AdmissionRequest)。'authorizer' - CEL 授权器。可用于对请求的主体(用户或服务帐户)执行授权检查。请参见 https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz 'authorizer.requestResource' - 从 'authorizer' 构造并使用请求资源配置的 CEL 资源检查。有关 CEL 的文档: https://kubernetes.ac.cn/docs/reference/using-api/cel/

必填。

名称

字符串

名称是此匹配条件的标识符,用于 MatchConditions 的策略性合并,以及提供用于记录目的的标识符。一个好的名称应该描述相关的表达式。名称必须是包含字母数字字符、'-'、'_' 或 '.' 的限定名,并且必须以字母数字字符开头和结尾(例如 'MyName' 或 'my.name' 或 '123-abc',用于验证的正则表达式为 '([A-Za-z0-9][-A-Za-z0-9_]*.?)?[A-Za-z0-9]'),并带有可选的 DNS 子域名前缀和 '/'(例如 'example.com/MyName')

必填。

.spec.matchConstraints

描述

MatchResources 根据对象是否满足匹配条件来决定是否在对象上运行准入控制策略。排除规则优先于包含规则(如果资源同时匹配两者,则将其排除)

类型

对象

属性 类型 描述

excludeResourceRules

数组

ExcludeResourceRules 描述验证准入策略不应关心的哪些资源/子资源上的哪些操作。排除规则优先于包含规则(如果资源同时匹配两者,则将其排除)

excludeResourceRules[]

对象

NamedRuleWithOperations 是操作和资源与资源名称的元组。

matchPolicy

字符串

matchPolicy 定义如何使用“MatchResources”列表来匹配传入的请求。允许的值为“Exact”或“Equivalent”。

- Exact:仅当请求与指定的规则完全匹配时才匹配请求。例如,如果可以通过 apps/v1、apps/v1beta1 和 extensions/v1beta1 修改部署,但“rules”仅包含 apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"],则对 apps/v1beta1 或 extensions/v1beta1 的请求不会发送到验证准入策略。

- Equivalent:如果修改规则中列出的资源(即使通过其他 API 组或版本),则匹配请求。例如,如果可以通过 apps/v1、apps/v1beta1 和 extensions/v1beta1 修改部署,而“rules”仅包含 apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"],则对 apps/v1beta1 或 extensions/v1beta1 的请求将转换为 apps/v1 并发送到验证准入策略。

默认为“Equivalent”

可能的枚举值:- "Equivalent" 表示如果请求通过其他 API 组或版本修改规则中列出的资源,则应将请求发送到 Webhook。- "Exact" 表示只有当请求与给定规则完全匹配时,才应将请求发送到 Webhook。

namespaceSelector

LabelSelector

NamespaceSelector 根据该对象的命名空间是否与选择器匹配来决定是否在对象上运行准入控制策略。如果对象本身是命名空间,则在 object.metadata.labels 上执行匹配。如果对象是另一个集群范围的资源,则它永远不会跳过策略。

例如,要在命名空间未关联“runlevel”为“0”或“1”的任何对象上运行 Webhook;您将按如下方式设置选择器:“namespaceSelector”: { "matchExpressions": [ { "key": "runlevel", "operator": "NotIn", "values": [ "0", "1" ] } ] }

如果您只想在命名空间与“environment”为“prod”或“staging”关联的任何对象上运行策略;您将按如下方式设置选择器:“namespaceSelector”: { "matchExpressions": [ { "key": "environment", "operator": "In", "values": [ "prod", "staging" ] } ] }

有关标签选择器的更多示例,请参阅 https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/labels/

默认为空 LabelSelector,匹配所有内容。

objectSelector

LabelSelector

ObjectSelector 根据对象是否具有匹配的标签来决定是否运行验证。objectSelector 会针对将发送到 cel 验证的 oldObject 和 newObject 进行评估,如果任一对象匹配选择器,则认为匹配。空对象(在创建的情况下为 oldObject,或在删除的情况下为 newObject)或无法具有标签的对象(如 DeploymentRollback 或 PodProxyOptions 对象)不被认为匹配。仅当 Webhook 是选择加入时才使用对象选择器,因为最终用户可以通过设置标签来跳过准入 Webhook。默认为空 LabelSelector,匹配所有内容。

resourceRules

数组

ResourceRules 描述验证准入策略匹配的哪些资源/子资源上的哪些操作。如果策略匹配*任何*规则,则它会关心操作。

resourceRules[]

对象

NamedRuleWithOperations 是操作和资源与资源名称的元组。

.spec.matchConstraints.excludeResourceRules

描述

ExcludeResourceRules 描述验证准入策略不应关心的哪些资源/子资源上的哪些操作。排除规则优先于包含规则(如果资源同时匹配两者,则将其排除)

类型

数组

.spec.matchConstraints.excludeResourceRules[]

描述

NamedRuleWithOperations 是操作和资源与资源名称的元组。

类型

对象

属性 类型 描述

apiGroups

数组 (字符串)

APIGroups 是资源所属的 API 组。“**”是所有组。如果存在“**”,则切片的长度必须为一。必填。

apiVersions

数组 (字符串)

APIVersions 指资源所属的 API 版本。'' 表示所有版本。如果存在 '',则切片的长度必须为一。必填。

operations

数组 (字符串)

Operations 是准入钩子关心的操作 - CREATE、UPDATE、DELETE、CONNECT 或 * 表示所有这些操作以及将来添加的任何准入操作。如果存在 '*',则切片的长度必须为一。必填。

resourceNames

数组 (字符串)

ResourceNames 是规则适用的名称的可选白名单。空集表示允许所有内容。

resources

数组 (字符串)

Resources 是此规则适用的资源列表。

例如:'pods' 表示 pods。'pods/log' 表示 pods 的 log 子资源。'' 表示所有资源,但不包括子资源。'pods/' 表示 pods 的所有子资源。'/scale' 表示所有 scale 子资源。'/*' 表示所有资源及其子资源。

如果存在通配符,验证规则将确保资源不会相互重叠。

根据封闭对象的不同,子资源可能不被允许。必填。

scope

字符串

scope 指定此规则的范围。有效值为“Cluster”、“Namespaced”和“” “Cluster” 表示只有集群范围的资源才会匹配此规则。命名空间 API 对象是集群范围的。“Namespaced” 表示只有命名空间资源才会匹配此规则。“”表示没有范围限制。子资源与其父资源的范围匹配。默认为 "*"。

.spec.matchConstraints.resourceRules

描述

ResourceRules 描述验证准入策略匹配的哪些资源/子资源上的哪些操作。如果策略匹配*任何*规则,则它会关心操作。

类型

数组

.spec.matchConstraints.resourceRules[]

描述

NamedRuleWithOperations 是操作和资源与资源名称的元组。

类型

对象

属性 类型 描述

apiGroups

数组 (字符串)

APIGroups 是资源所属的 API 组。“**”是所有组。如果存在“**”,则切片的长度必须为一。必填。

apiVersions

数组 (字符串)

APIVersions 指资源所属的 API 版本。'' 表示所有版本。如果存在 '',则切片的长度必须为一。必填。

operations

数组 (字符串)

Operations 是准入钩子关心的操作 - CREATE、UPDATE、DELETE、CONNECT 或 * 表示所有这些操作以及将来添加的任何准入操作。如果存在 '*',则切片的长度必须为一。必填。

resourceNames

数组 (字符串)

ResourceNames 是规则适用的名称的可选白名单。空集表示允许所有内容。

resources

数组 (字符串)

Resources 是此规则适用的资源列表。

例如:'pods' 表示 pods。'pods/log' 表示 pods 的 log 子资源。'' 表示所有资源,但不包括子资源。'pods/' 表示 pods 的所有子资源。'/scale' 表示所有 scale 子资源。'/*' 表示所有资源及其子资源。

如果存在通配符,验证规则将确保资源不会相互重叠。

根据封闭对象的不同,子资源可能不被允许。必填。

scope

字符串

scope 指定此规则的范围。有效值为“Cluster”、“Namespaced”和“” “Cluster” 表示只有集群范围的资源才会匹配此规则。命名空间 API 对象是集群范围的。“Namespaced” 表示只有命名空间资源才会匹配此规则。“”表示没有范围限制。子资源与其父资源的范围匹配。默认为 "*"。

.spec.paramKind

描述

ParamKind 是组 Kind 和版本的元组。

类型

对象

属性 类型 描述

apiVersion

字符串

APIVersion 是资源所属的 API 组版本。格式为“group/version”。必填。

kind

字符串

Kind 是资源所属的 API 种类。必填。

.spec.validations

描述

Validations 包含用于应用验证的 CEL 表达式。Validations 和 AuditAnnotations 不能同时为空;至少需要一个 Validations 或 AuditAnnotations。

类型

数组

.spec.validations[]

描述

Validation 指定用于应用验证的 CEL 表达式。

类型

对象

必填
  • 表达式

属性 类型 描述

表达式

字符串

Expression 表示将由 CEL 评估的表达式。参考:https://github.com/google/cel-spec CEL 表达式可以访问 API 请求/响应的内容,这些内容被组织成 CEL 变量以及其他一些有用的变量

- 'object' - 来自传入请求的对象。对于 DELETE 请求,值为 null。- 'oldObject' - 现有对象。对于 CREATE 请求,值为 null。- 'request' - API 请求的属性([ref](/pkg/apis/admission/types.go#AdmissionRequest))。- 'params' - 由正在评估的策略绑定引用的参数资源。只有在策略具有 ParamKind 时才会填充。- 'namespaceObject' - 传入对象所属的命名空间对象。对于集群范围的资源,值为 null。- 'variables' - 组合变量的映射,从其名称到其延迟评估的值。例如,名为“foo”的变量可以访问为“variables.foo”。- 'authorizer' - 一个 CEL 授权器。可用于对请求的主体(用户或服务帐户)执行授权检查。参见 https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz - 'authorizer.requestResource' - 从 'authorizer' 构造并使用请求资源配置的 CEL 资源检查。

apiVersionkindmetadata.namemetadata.generateName 始终可从对象的根目录访问。无法访问其他元数据属性。

只有表单 [a-zA-Z_.-/][a-zA-Z0-9_.-/]* 的属性名称才可访问。在表达式中访问时,可访问的属性名称将根据以下规则转义:- '_' 转义为 '_underscores_' - '.' 转义为 '_dot_' - '-' 转义为 '_dash_' - '/' 转义为 '_slash_' - 完全匹配 CEL 保留关键字的属性名称转义为 '_ {keyword}_'。关键字为:“true”、“false”、“null”、“in”、“as”、“break”、“const”、“continue”、“else”、“for”、“function”、“if”、“import”、“let”、“loop”、“package”、“namespace”、“return”。示例:- 访问名为“namespace”的属性的表达式:{"Expression": "object._namespace_ > 0"} - 访问名为“x-prop”的属性的表达式:{"Expression": "object.x_dash_prop > 0"} - 访问名为“redact_d”的属性的表达式:{"Expression": "object.redact_underscores_d > 0"}

具有 'set' 或 'map' 列表类型的数组上的相等性忽略元素顺序,即 [1, 2] == [2, 1]。使用 x-kubernetes-list-type 的数组上的连接使用列表类型的语义:- 'set':X + Y 执行联合,其中保留 X 中所有元素的数组位置,并将 Y 中不相交的元素附加,保留其部分顺序。- 'map':X + Y 执行合并,其中保留 X 中所有键的数组位置,但当 XY 的键集相交时,值将被 Y 中的值覆盖。Y 中具有不相交键的元素将被附加,保留其部分顺序。必填。

message

字符串

Message 表示验证失败时显示的消息。如果 Expression 包含换行符,则需要该消息。消息不得包含换行符。如果未设置,则消息为“failed rule: {Rule}”。例如“must be a URL with the host matching spec.host”如果 Expression 包含换行符。消息是必需的。消息不得包含换行符。如果未设置,则消息为“failed Expression: {Expression}”。

messageExpression

字符串

messageExpression 声明一个 CEL 表达式,该表达式计算出此规则失败时返回的验证失败消息。由于 messageExpression 用作失败消息,因此它必须计算为字符串。如果验证中同时存在 message 和 messageExpression,则如果验证失败,将使用 messageExpression。如果 messageExpression 导致运行时错误,则会记录运行时错误,并像 messageExpression 字段未设置一样生成验证失败消息。如果 messageExpression 计算结果为空字符串、仅包含空格的字符串或包含换行符的字符串,则验证失败消息也将像 messageExpression 字段未设置一样生成,并且 messageExpression 生成空字符串/仅包含空格的字符串/包含换行符的字符串的事实将被记录。messageExpression 具有与 expression 相同的所有变量,但 'authorizer' 和 'authorizer.requestResource' 除外。示例:“object.x must be less than max ("string(params.max)")”

reason

字符串

Reason 表示此验证失败的机器可读描述。如果这是列表中第一个失败的验证,则此原因以及相应的 HTTP 响应代码将用于对客户端的 HTTP 响应中。当前支持的原因是:“Unauthorized”、“Forbidden”、“Invalid”、“RequestEntityTooLarge”。如果未设置,则在对客户端的响应中使用 StatusReasonInvalid。

.spec.variables

描述

变量包含可在组合其他表达式时使用的变量定义。每个变量都定义为一个命名的 CEL 表达式。此处定义的变量将在策略的其他表达式(MatchConditions 除外)中的variables下可用,因为 MatchConditions 在策略的其余部分之前进行评估。

变量的表达式可以引用列表中前面定义的其他变量,但不能引用后面的变量。因此,变量必须按首次出现的顺序排序且必须是无环的。

类型

数组

.spec.variables[]

描述

变量是用于组合的变量定义。变量定义为一个命名表达式。

类型

对象

必填
  • 名称

  • 表达式

属性 类型 描述

表达式

字符串

Expression 是将计算为变量值的表达式。CEL 表达式可以访问与 Validation 中的 CEL 表达式相同的标识符。

名称

字符串

Name 是变量的名称。名称必须是有效的 CEL 标识符,并且在所有变量中必须唯一。可以通过 variables 在其他表达式中访问该变量。例如,如果名称为“foo”,则该变量将可用作 variables.foo

.status

描述

ValidatingAdmissionPolicyStatus 表示准入验证策略的状态。

类型

对象

属性 类型 描述

conditions

数组 (Condition)

conditions 表示策略当前状态的最新可用观察结果。

observedGeneration

整数

控制器观察到的 generation。

typeChecking

对象

TypeChecking 包含对 ValidatingAdmissionPolicy 中表达式的类型检查结果。

.status.typeChecking

描述

TypeChecking 包含对 ValidatingAdmissionPolicy 中表达式的类型检查结果。

类型

对象

属性 类型 描述

expressionWarnings

数组

每个表达式的类型检查警告。

expressionWarnings[]

对象

ExpressionWarning 是针对特定表达式的警告信息。

.status.typeChecking.expressionWarnings

描述

每个表达式的类型检查警告。

类型

数组

.status.typeChecking.expressionWarnings[]

描述

ExpressionWarning 是针对特定表达式的警告信息。

类型

对象

必填
  • fieldRef

  • 警告

属性 类型 描述

fieldRef

字符串

引用表达式的字段的路径。例如,对验证的第一个项目的表达式的引用是“spec.validations[0].expression”

警告

字符串

以人类可读的形式显示类型检查信息的内容。警告的每一行都包含表达式检查的类型,后跟编译器的类型检查错误。

API 端点

以下 API 端点可用

  • /apis/admissionregistration.k8s.io/v1/validatingadmissionpolicies

    • DELETE: 删除 ValidatingAdmissionPolicy 集合

    • GET: 列出或监听 ValidatingAdmissionPolicy 对象

    • POST: 创建一个 ValidatingAdmissionPolicy

  • /apis/admissionregistration.k8s.io/v1/watch/validatingadmissionpolicies

    • GET: 监听 ValidatingAdmissionPolicy 列表的单个更改。已弃用:请改用列表操作中的“watch”参数。

  • /apis/admissionregistration.k8s.io/v1/validatingadmissionpolicies/{name}

    • DELETE: 删除一个 ValidatingAdmissionPolicy

    • GET: 读取指定的 ValidatingAdmissionPolicy

    • PATCH: 部分更新指定的 ValidatingAdmissionPolicy

    • PUT: 替换指定的 ValidatingAdmissionPolicy

  • /apis/admissionregistration.k8s.io/v1/watch/validatingadmissionpolicies/{name}

    • GET: 监听 ValidatingAdmissionPolicy 对象的更改。已弃用:请改用列表操作中的“watch”参数,并使用“fieldSelector”参数过滤为单个项目。

  • /apis/admissionregistration.k8s.io/v1/validatingadmissionpolicies/{name}/status

    • GET: 读取指定的 ValidatingAdmissionPolicy 的状态

    • PATCH: 部分更新指定的 ValidatingAdmissionPolicy 的状态

    • PUT: 替换指定的 ValidatingAdmissionPolicy 的状态

/apis/admissionregistration.k8s.io/v1/validatingadmissionpolicies

HTTP 方法

DELETE

描述

删除 ValidatingAdmissionPolicy 集合

表 1. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

表 2. HTTP 响应
HTTP 代码 响应体

200 - OK

Status 模式

401 - 未授权

HTTP 方法

GET

描述

列出或监听 ValidatingAdmissionPolicy 对象

表 3. HTTP 响应
HTTP 代码 响应体

200 - OK

ValidatingAdmissionPolicyList 模式

401 - 未授权

HTTP 方法

POST

描述

创建一个 ValidatingAdmissionPolicy

表 4. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为从对象中删除的每个未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果要从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 5. 请求体参数
参数 类型 描述

body

ValidatingAdmissionPolicy 模式

表 6. HTTP 响应
HTTP 代码 响应体

200 - OK

ValidatingAdmissionPolicy 模式

201 - 已创建

ValidatingAdmissionPolicy 模式

202 - 已接受

ValidatingAdmissionPolicy 模式

401 - 未授权

/apis/admissionregistration.k8s.io/v1/watch/validatingadmissionpolicies

HTTP 方法

GET

描述

监听 ValidatingAdmissionPolicy 列表的单个更改。已弃用:请改用列表操作中的“watch”参数。

表 7. HTTP 响应
HTTP 代码 响应体

200 - OK

WatchEvent 模式

401 - 未授权

/apis/admissionregistration.k8s.io/v1/validatingadmissionpolicies/{name}

表 8. 全局路径参数
参数 类型 描述

名称

字符串

ValidatingAdmissionPolicy 的名称

HTTP 方法

DELETE

描述

删除一个 ValidatingAdmissionPolicy

表 9. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

表 10. HTTP 响应
HTTP 代码 响应体

200 - OK

Status 模式

202 - 已接受

Status 模式

401 - 未授权

HTTP 方法

GET

描述

读取指定的 ValidatingAdmissionPolicy

表 11. HTTP 响应
HTTP 代码 响应体

200 - OK

ValidatingAdmissionPolicy 模式

401 - 未授权

HTTP 方法

PATCH

描述

部分更新指定的 ValidatingAdmissionPolicy

表 12. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为从对象中删除的每个未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果要从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 13. HTTP 响应
HTTP 代码 响应体

200 - OK

ValidatingAdmissionPolicy 模式

201 - 已创建

ValidatingAdmissionPolicy 模式

401 - 未授权

HTTP 方法

PUT

描述

替换指定的 ValidatingAdmissionPolicy

表 14. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为从对象中删除的每个未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果要从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 15. 请求体参数
参数 类型 描述

body

ValidatingAdmissionPolicy 模式

表 16. HTTP 响应
HTTP 代码 响应体

200 - OK

ValidatingAdmissionPolicy 模式

201 - 已创建

ValidatingAdmissionPolicy 模式

401 - 未授权

/apis/admissionregistration.k8s.io/v1/watch/validatingadmissionpolicies/{name}

表 17. 全局路径参数
参数 类型 描述

名称

字符串

ValidatingAdmissionPolicy 的名称

HTTP 方法

GET

描述

监听 ValidatingAdmissionPolicy 对象的更改。已弃用:请改用列表操作中的“watch”参数,并使用“fieldSelector”参数过滤为单个项目。

表 18. HTTP 响应
HTTP 代码 响应体

200 - OK

WatchEvent 模式

401 - 未授权

/apis/admissionregistration.k8s.io/v1/validatingadmissionpolicies/{name}/status

表 19. 全局路径参数
参数 类型 描述

名称

字符串

ValidatingAdmissionPolicy 的名称

HTTP 方法

GET

描述

读取指定的 ValidatingAdmissionPolicy 的状态

表 20. HTTP 响应
HTTP 代码 响应体

200 - OK

ValidatingAdmissionPolicy 模式

401 - 未授权

HTTP 方法

PATCH

描述

部分更新指定的 ValidatingAdmissionPolicy 的状态

表 21. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为从对象中删除的每个未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果要从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 22. HTTP 响应
HTTP 代码 响应体

200 - OK

ValidatingAdmissionPolicy 模式

201 - 已创建

ValidatingAdmissionPolicy 模式

401 - 未授权

HTTP 方法

PUT

描述

替换指定的 ValidatingAdmissionPolicy 的状态

表 23. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为从对象中删除的每个未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果要从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 24. 请求体参数
参数 类型 描述

body

ValidatingAdmissionPolicy 模式

表 25. HTTP 响应
HTTP 代码 响应体

200 - OK

ValidatingAdmissionPolicy 模式

201 - 已创建

ValidatingAdmissionPolicy 模式

401 - 未授权