30.2. MutatingWebhookConfiguration [admissionregistration.k8s.io/v1]
- 描述
- MutatingWebhookConfiguration 描述了接受或拒绝的 和 admission Webhook 的配置,并可能会更改对象。
- 类型
-
对象
30.2.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据;更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata。 | |
|
| Webhook 是一个 webhook 列表,以及受影响的资源和操作。 |
|
| 变异webhook 描述了准入 Webhook,以及它应用到的资源和操作。 |
30.2.1.1. .webhooks
- 描述
- Webhook 是一个 webhook 列表,以及受影响的资源和操作。
- 类型
-
array
30.2.1.2. .webhooks[]
- 描述
- 变异webhook 描述了准入 Webhook,以及它应用到的资源和操作。
- 类型
-
对象
- 必填
-
name
-
clientConfig
-
sideEffects
-
admissionReviewVersions
-
属性 | 类型 | 描述 |
---|---|---|
|
|
admissionReviewVersions 是 Webhook 期望的首选 |
|
| WebhookClientConfig 包含与 Webhook 进行 TLS 连接的信息 |
|
| failurePolicy 定义如何处理准入端点中的未识别错误 - 允许的值为 Ignore 或 Fail。默认为 Fail。
可能枚举值: - |
|
| MatchConditions 是必须满足的条件列表,才能将请求发送到此 webhook。匹配条件过滤请求,它们已与 rules、namespaceSelector 和 objectSelector 匹配。matchConditions 空列表匹配所有请求。允许最多有 64 个匹配条件。 完全匹配的逻辑是(按顺序排列):1。如果 ANY matchCondition 评估为 FALSE,则会跳过 Webhook。2.如果 ALL matchConditions 评估为 TRUE,则调用 Webhook。3.如果任何 matchCondition 评估为错误(但没有为 FALSE):- 如果 failurePolicy=Fail,则拒绝请求 - 如果 failurePolicy=Ignore,则忽略错误并跳过 Webhook 这是一个 alpha 功能,由 AdmissionWebhookMatchConditions 功能门管理。 |
|
| MatchCondition 代表必须实现才能使请求发送到 webhook 的条件。 |
|
| matchPolicy 定义如何使用"rules"列表来匹配传入的请求。允许的值是 "Exact" 或 "Equivalent"。
- exact :仅在与指定规则完全匹配时才匹配请求。例如,如果可通过 apps/v1、apps/v1beta1 和 extensions/v1beta1 修改部署,但 "rules" 只包括
- equivalent:在修改规则中列出的资源时匹配请求,即使通过另一个 API 组或版本。例如,如果部署可以通过 apps/v1、apps/v1beta1 和 extensions/v1beta1 修改,且 "rules" 只包括 默认为 "Equivalent"
可能枚举值: - |
|
| 准入 Webhook 的名称。name 应该是完全限定的,如 imagepolicy.kubernetes.io,其中 "imagepolicy" 是 Webhook 的名称,kubernetes.io 是机构的名称。必需。 |
| namespaceSelector 决定是否在对象上运行 webhook,具体取决于该对象的命名空间是否与选择器匹配。如果对象本身是一个命名空间,则匹配会在 object.metadata.labels 上执行。如果对象是另一个集群范围的资源,它永远不会跳过 Webhook。 例如,要在命名空间没有与 "0" 或 "1" 关联的 "runlevel" 或 "1" 运行 webhook;您要将选择器设置为如下: "namespaceSelector": { "matchExpressions": [ { "key": "runlevel", "operator": "NotIn", "values": [ "0", "1" ] } ] } 如果您只想在命名空间与 "prod" 或 "staging" 关联的 "environment" 或 "staging" 对象上运行 webhook;您要将选择器设置为如下: "namespaceSelector": { "matchExpressions": [ { "key": "environment", "operator": "In", "values": [ "prod", "staging" ] } ] } 有关标签选择器的更多示例,请参阅 https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/。 默认为空 LabelSelector,它与所有内容匹配。 | |
| objectSelector 决定是否根据对象是否有匹配的 labels. objectSelector 运行 webhook。objectSelector 是针对要发送到 webhook 的 oldObject 和 newObject 评估的,并被视为匹配对象是否与选择器匹配。null 对象(如果为 create,则为 newObject,则为 newObject )或没有标签(如 DeploymentRollback 或 PodProxyOptions 对象)的对象不被视为匹配。只有在 Webhook 是 opt-in 时,才使用对象选择器,因为最终用户可以通过设置标签来跳过准入 Webhook。默认为空 LabelSelector,它与所有内容匹配。 | |
|
| reinvocationPolicy 指明此 webhook 是否作为单一准入评估的一部分被多次调用。允许的值是 "Never" 和 "IfNeeded"。 Never:在单个准入评估中,webhook 不会多次调用。 IfNeeded :如果在初始 Webhook 调用后被其他插件修改了其他准入插件,则 webhook 最少会作为准入评估的一部分被调用。指定这个选项的 Webhook 必须 是幂等的,可以处理之前接受的对象。注:* 无法保证额外调用的数量完全相同。* 如果额外的调用结果对对象进行进一步的修改,则无法保证再次调用 Webhook。* 使用此选项的 Webhook 可以重新排序来最小化附加调用的数量。* 要在保证完成所有变异后验证对象,请使用验证准入 Webhook。 默认为 "Never"。
可能的 enum 值: - |
|
| 规则描述了 Webhook 关注的 resources/subresources 的操作。如果 与任何 规则匹配,webhook 会处理某个操作。但是,为了防止 ValidatingAdmissionWebhooks 和 MutatingAdmissionWebhooks 使集群处于无法完全禁用插件的状态,ValidatingAdmissionWebhooks 和 MutatingAdmissionWebhooks 永不会调用 ValidatingWebhookConfiguration 和 MutatingWebhookConfiguration 对象的准入请求。 |
|
| RuleWithOperations 是操作和资源的元组。建议确保所有元组扩展都有效。 |
|
| SideEffects 指出此 webhook 是否产生副作用。可接受值为: None, NoneOnDryRun (webhooks via v1beta1 创建,也可以指定 some 或 Unknown。具有副作用的 Webhook 实现了协调系统,因为准入链中的将来步骤可能会拒绝请求,因此需要撤销副作用。具有 dryRun 属性的请求如果与带有 sideEffects == Unknown 或 some 的 webhook 匹配,则会自动拒绝。
可能的 enum 值: - |
|
| timeoutSeconds 指定此 webhook 的超时时间。通过超时后,webhook 调用将被忽略,或者 API 调用将根据失败策略失败。超时值必须在 1 到 30 秒之间。默认值为 10 秒。 |
30.2.1.3. .webhooks[].clientConfig
- 描述
- WebhookClientConfig 包含与 Webhook 进行 TLS 连接的信息
- 类型
-
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
| ServiceReference 包含对 Service.legacy.k8s.io 的引用 |
|
|
URL 以标准 URL 格式提供 webhook 的位置(
请注意,使用 方案必须是 "https";URL 必须以 "https://" 开头。 路径是可选的,如果存在,则 URL 中可能存在任何字符串。您可以使用路径将任意字符串传递给 Webhook,例如集群标识符。 尝试使用用户或基本身份验证,例如不允许"user:password@"。不允许片段("#…")和查询参数("?…")。 |
30.2.1.4. .webhooks[].clientConfig.service
- 描述
- ServiceReference 包含对 Service.legacy.k8s.io 的引用
- 类型
-
对象
- 必填
-
namespace
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
如果指定,托管 Webhook 的服务上的端口。默认为 443,以便向后兼容。 |
30.2.1.5. .webhooks[].matchConditions
- 描述
MatchConditions 是必须满足的条件列表,才能将请求发送到此 webhook。匹配条件过滤请求,它们已与 rules、namespaceSelector 和 objectSelector 匹配。matchConditions 空列表匹配所有请求。允许最多有 64 个匹配条件。
完全匹配的逻辑是(按顺序排列):1。如果 ANY matchCondition 评估为 FALSE,则会跳过 Webhook。2.如果 ALL matchConditions 评估为 TRUE,则调用 Webhook。3.如果任何 matchCondition 评估为错误(但没有为 FALSE):- 如果 failurePolicy=Fail,则拒绝请求 - 如果 failurePolicy=Ignore,则忽略错误并跳过 Webhook
这是一个 alpha 功能,由 AdmissionWebhookMatchConditions 功能门管理。
- 类型
-
array
30.2.1.6. .webhooks[].matchConditions[]
- 描述
- MatchCondition 代表必须实现才能使请求发送到 webhook 的条件。
- 类型
-
对象
- 必填
-
name
-
expression
-
属性 | 类型 | 描述 |
---|---|---|
|
| 表达式代表 CEL 将评估的表达式。必须评估 bool。CEL 表达式可以访问 AdmissionRequest 和 Authorizer 的内容,被组织为 CEL 变量: 'object' - 传入请求中的对象。DELETE 请求的值是 null。'oldObject' - 现有对象。对于 CREATE requests,值为 null。'request' - 准入请求的属性(/pkg/apis/admission/types.go#AdmissionRequest). 'authorizer' - A CEL Authorizer。可用于对请求的主(用户或服务帐户)执行授权检查。请参阅 https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz 'authorizer.requestResource' - 从 'authorizer' 构建的 CEL ResourceCheck,并使用 request 资源进行配置。CEL 的文档: https://kubernetes.io/docs/reference/using-api/cel/ 必需。 |
|
| name 是此匹配条件的标识符,用于 MatchConditions 的策略合并,并提供用于日志目的的标识符。相关表达式应当有一个好的名称。name 必须是由字母数字字符、'-'、'' 或 '.' 组成的合格名称,且必须以字母数字字符开头和结尾(例如:'MyName' 或 'my.name', 或 '123-abc', regex is '([A-Za-z0-9][-A-Za-z0-9.]*)?[A-Za-z0-9]'),带有可选的 DNS 子域前缀和 '/'(如 'example.com/MyName') 必需。 |
30.2.1.7. .webhooks[].rules
- 描述
- 规则描述了 Webhook 关注的 resources/subresources 的操作。如果 与任何 规则匹配,webhook 会处理某个操作。但是,为了防止 ValidatingAdmissionWebhooks 和 MutatingAdmissionWebhooks 使集群处于无法完全禁用插件的状态,ValidatingAdmissionWebhooks 和 MutatingAdmissionWebhooks 永不会调用 ValidatingWebhookConfiguration 和 MutatingWebhookConfiguration 对象的准入请求。
- 类型
-
array
30.2.1.8. .webhooks[].rules[]
- 描述
- RuleWithOperations 是操作和资源的元组。建议确保所有元组扩展都有效。
- 类型
-
对象
属性 | 类型 | 描述 |
---|---|---|
|
| apiGroups 是资源所属的 API 组。'' 是所有组。如果 '' 存在,分片的长度必须为一。必需。 |
|
| APIVersions 是资源所属的 API 版本。'' 是所有版本。如果 '' 存在,分片的长度必须为一。必需。 |
|
| 操作是准入 hook 关注的操作 - CREATE、UPDATE、DELETE、CONNECT 或 *(对于所有这些操作)以及添加的任何未来准入操作。如果 '*' 存在,分片的长度必须为一。必需。 |
|
| resources 是此规则应用到的资源列表。 例如: 'pods' 表示 pod。'pods/log' 表示 pod 的日志子资源。' 表示所有资源,但不是子资源。'pod/' 表示所有 pod 的子资源。'/scale' 表示所有扩展子资源。'Burstable' 表示所有资源及其子资源。 如果存在通配符,验证规则将确保资源不会相互重叠。 根据括起对象,可能不允许子资源。必需。 |
|
| scope 指定此规则的范围。有效值为 "Cluster", "Namespaced", 和 "" "Cluster" 表示只有集群范围的资源与此规则匹配。命名空间 API 对象是集群范围的。"namespaced"意味着只有命名空间的资源与此规则匹配。"表示没有范围限制。子资源与其父资源的范围匹配。默认为 "*"。 |
30.2.2. API 端点
可用的 API 端点如下:
/apis/admissionregistration.k8s.io/v1/mutatingwebhookconfigurations
-
DELETE
:删除 MutatingWebhookConfiguration 的集合 -
GET
: 列出或监视 kind MutatingWebhookConfiguration 的对象 -
POST
: 创建一个 MutatingWebhookConfiguration
-
/apis/admissionregistration.k8s.io/v1/watch/mutatingwebhookconfigurations
-
GET
: 观察单个对 MutatingWebhookConfiguration 列表的更改。已弃用:使用 'watch' 参数和 list 操作。
-
/apis/admissionregistration.k8s.io/v1/mutatingwebhookconfigurations/{name}
-
DELETE
:删除 MutatingWebhookConfiguration -
GET
: 读取指定的 MutatingWebhookConfiguration -
PATCH
: 部分更新指定的 MutatingWebhookConfiguration -
PUT
:替换指定的 MutatingWebhookConfiguration
-
/apis/admissionregistration.k8s.io/v1/watch/mutatingwebhookconfigurations/{name}
-
GET
: 观察对 kind MutatingWebhookConfiguration 对象的更改。已弃用:使用带有列表操作的 'watch' 参数,而是过滤到带有 'fieldSelector' 参数的单个项目。
-
30.2.2.1. /apis/admissionregistration.k8s.io/v1/mutatingwebhookconfigurations
参数 | 类型 | 描述 |
---|---|---|
|
| 如果 'true',则输出会输出。 |
- HTTP 方法
-
DELETE
- 描述
- 删除 MutatingWebhookConfiguration 集合
参数 | 类型 | 描述 |
---|---|---|
|
| 从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,则必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误的令牌的列表请求,服务器将使用从下一个密钥开始的列表进行响应,但从最新的快照开始,从上一个列表结果(创建、修改或删除)后,创建、修改或删除第一个列表请求将包含在响应中,只要它们的键位于"下一密钥"后。 当监视为 true 时,不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不错过任何修改。 |
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| 用于按字段限制返回对象列表的选择器。默认为任何内容。 |
|
| 应该删除对象前的持续时间(以秒为单位)。值必须是非负整数。值零表示立即删除。如果这个值为 nil,则使用指定类型的默认宽限期。如果没有指定,则默认为每个对象值。零表示立即删除。 |
|
| 一个选择器,用于按标签限制返回的对象列表。默认为任何内容。 |
|
| limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的 'continue' 字段设置为可用于同一初始查询的值,以检索下一个结果集合。如果过滤了所有请求的对象,设置限制可能会小于请求的项目数量(最多零项),并且客户端应该只使用 continue 字段的存在来确定是否有可用的结果。服务器可能选择不支持 limit 参数,并将返回所有可用结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假设没有更多结果可用。如果 watch 为 true,则不支持此字段。 服务器保证,在使用 continue 时返回的对象与在没有限制的情况下发出单个列表调用时返回的对象将相同,即在发出第一个请求后没有创建、修改或删除的对象。这有时被称为一致的快照,并确保使用限制的客户端接收大量结果的较小的块可以确保它们可以看到所有可能的对象。如果在块列表列表期间更新对象,则返回第一个列表结果时存在的对象版本。 |
|
| deprecated :请使用 PropagationPolicy,此字段将在 1.7 中弃用。依赖的对象应该被孤立。如果为 true/false,则"orphan"终结器将从对象的终结器列表添加到/删除。可以设置此字段或 PropagationPolicy,但不能同时设置这两个字段。 |
|
| 是否以及如何执行垃圾回收。可以设置此字段或 OrphanDependents,但不能同时设置这两个字段。默认策略由 metadata.finalizers 和特定于资源的默认策略中设置的现有终结器决定。可接受值为:'Orphan' - 孤立依赖项; 'Background' - 允许垃圾收集器删除后台依赖的依赖项;'Foreground' - 一个级联策略,会删除前台所有依赖的级联策略。 |
|
| resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions 默认为未设置 |
|
| resourceVersionMatch 决定 resourceVersion 如何应用到列表调用。强烈建议您为设置 resourceVersion 的列表调用设置 resourceVersionMatch,详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions。 默认为未设置 |
|
| 'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,监视流将以 synthetic 事件开头,以生成集合中对象的当前状态。发送完所有此类事件后,将发送一个合成"Bookmark"事件。书签将报告与一组对象对应的 ResourceVersion (RV),并标有 '"k8s.io/initial-events-end": "true"' 注解。之后,监视流会照常进行,将与更改对应的监控事件(subsequent to the RV)发送到被监视的对象。 当设置了 'sendInitialEvents' 选项时,我们还需要设置 'resourceVersionMatch' 选项。监视请求的语义如下: - 'resourceVersionMatch' = NotOlderThan 解释为 "data at the provided as the provided as the provided 'resourceVersion'",当状态同步到 'resourceVersion' 时,书签事件至少作为 ListOptions 提供的 "resourceVersion" 提供。如果未设置 'resourceVersion',则会将其解释为 "consistent read",并且当状态在请求开始处理时至少同步时,会发送书签事件。- 'resourceVersionMatch' 设置为任何其他值或取消设置 Invalid 错误。 如果 'resourceVersion="" 或 'resourceVersion="0"' (用于向后兼容的原因)和 false,则默认为 true。 |
|
| list/watch 调用的超时。这限制了调用的持续时间,而不考虑任何活动或不活跃。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出或监视 kind MutatingWebhookConfiguration 的对象
参数 | 类型 | 描述 |
---|---|---|
|
| allowWatchBookmarks请求类型为“BOOKMARK”的监视事件。没有实现书签的服务器可能会忽略这个标志和书签,由服务器自由裁量发送。客户端不应假设书签在任何特定间隔返回,也不会假定服务器在会话期间发送任何 BOOKMARK 事件。如果这不是监视,则忽略此字段。 |
|
| 从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,则必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误的令牌的列表请求,服务器将使用从下一个密钥开始的列表进行响应,但从最新的快照开始,从上一个列表结果(创建、修改或删除)后,创建、修改或删除第一个列表请求将包含在响应中,只要它们的键位于"下一密钥"后。 当监视为 true 时,不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不错过任何修改。 |
|
| 用于按字段限制返回对象列表的选择器。默认为任何内容。 |
|
| 一个选择器,用于按标签限制返回的对象列表。默认为任何内容。 |
|
| limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的 'continue' 字段设置为可用于同一初始查询的值,以检索下一个结果集合。如果过滤了所有请求的对象,设置限制可能会小于请求的项目数量(最多零项),并且客户端应该只使用 continue 字段的存在来确定是否有可用的结果。服务器可能选择不支持 limit 参数,并将返回所有可用结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假设没有更多结果可用。如果 watch 为 true,则不支持此字段。 服务器保证,在使用 continue 时返回的对象与在没有限制的情况下发出单个列表调用时返回的对象将相同,即在发出第一个请求后没有创建、修改或删除的对象。这有时被称为一致的快照,并确保使用限制的客户端接收大量结果的较小的块可以确保它们可以看到所有可能的对象。如果在块列表列表期间更新对象,则返回第一个列表结果时存在的对象版本。 |
|
| resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions 默认为未设置 |
|
| resourceVersionMatch 决定 resourceVersion 如何应用到列表调用。强烈建议您为设置 resourceVersion 的列表调用设置 resourceVersionMatch,详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions。 默认为未设置 |
|
| 'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,监视流将以 synthetic 事件开头,以生成集合中对象的当前状态。发送完所有此类事件后,将发送一个合成"Bookmark"事件。书签将报告与一组对象对应的 ResourceVersion (RV),并标有 '"k8s.io/initial-events-end": "true"' 注解。之后,监视流会照常进行,将与更改对应的监控事件(subsequent to the RV)发送到被监视的对象。 当设置了 'sendInitialEvents' 选项时,我们还需要设置 'resourceVersionMatch' 选项。监视请求的语义如下: - 'resourceVersionMatch' = NotOlderThan 解释为 "data at the provided as the provided as the provided 'resourceVersion'",当状态同步到 'resourceVersion' 时,书签事件至少作为 ListOptions 提供的 "resourceVersion" 提供。如果未设置 'resourceVersion',则会将其解释为 "consistent read",并且当状态在请求开始处理时至少同步时,会发送书签事件。- 'resourceVersionMatch' 设置为任何其他值或取消设置 Invalid 错误。 如果 'resourceVersion="" 或 'resourceVersion="0"' (用于向后兼容的原因)和 false,则默认为 true。 |
|
| list/watch 调用的超时。这限制了调用的持续时间,而不考虑任何活动或不活跃。 |
|
| 观察对上述资源的更改,并将其恢复为添加、更新和删除通知的流。指定 resourceVersion。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 MutatingWebhookConfiguration
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。 |
|
| fieldValidation 指示服务器如何处理包含未知或重复字段的请求(POST/PUT/PATCH)中的对象。有效值为: - Ignore :这将忽略从对象静默丢弃的所有未知字段,并将忽略所有但解码器遇到的最后重复字段。这是 v1.23. - Warn: 在 v1.23 之前的默认行为:这会通过从对象丢弃的每个未知字段以及遇到的每个重复字段来发送警告。如果没有其他错误,请求仍会成功,且只保留任何重复字段的最后一个。这是 v1.23+ - Strict 的默认值:如果从对象中删除任何未知字段,或者存在任何重复字段,则会失败并显示 BadRequest 错误。从服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
202 - Accepted | |
401 - Unauthorized | 空 |
30.2.2.2. /apis/admissionregistration.k8s.io/v1/watch/mutatingwebhookconfigurations
参数 | 类型 | 描述 |
---|---|---|
|
| allowWatchBookmarks请求类型为“BOOKMARK”的监视事件。没有实现书签的服务器可能会忽略这个标志和书签,由服务器自由裁量发送。客户端不应假设书签在任何特定间隔返回,也不会假定服务器在会话期间发送任何 BOOKMARK 事件。如果这不是监视,则忽略此字段。 |
|
| 从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,则必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误的令牌的列表请求,服务器将使用从下一个密钥开始的列表进行响应,但从最新的快照开始,从上一个列表结果(创建、修改或删除)后,创建、修改或删除第一个列表请求将包含在响应中,只要它们的键位于"下一密钥"后。 当监视为 true 时,不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不错过任何修改。 |
|
| 用于按字段限制返回对象列表的选择器。默认为任何内容。 |
|
| 一个选择器,用于按标签限制返回的对象列表。默认为任何内容。 |
|
| limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的 'continue' 字段设置为可用于同一初始查询的值,以检索下一个结果集合。如果过滤了所有请求的对象,设置限制可能会小于请求的项目数量(最多零项),并且客户端应该只使用 continue 字段的存在来确定是否有可用的结果。服务器可能选择不支持 limit 参数,并将返回所有可用结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假设没有更多结果可用。如果 watch 为 true,则不支持此字段。 服务器保证,在使用 continue 时返回的对象与在没有限制的情况下发出单个列表调用时返回的对象将相同,即在发出第一个请求后没有创建、修改或删除的对象。这有时被称为一致的快照,并确保使用限制的客户端接收大量结果的较小的块可以确保它们可以看到所有可能的对象。如果在块列表列表期间更新对象,则返回第一个列表结果时存在的对象版本。 |
|
| 如果 'true',则输出会输出。 |
|
| resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions 默认为未设置 |
|
| resourceVersionMatch 决定 resourceVersion 如何应用到列表调用。强烈建议您为设置 resourceVersion 的列表调用设置 resourceVersionMatch,详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions。 默认为未设置 |
|
| 'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,监视流将以 synthetic 事件开头,以生成集合中对象的当前状态。发送完所有此类事件后,将发送一个合成"Bookmark"事件。书签将报告与一组对象对应的 ResourceVersion (RV),并标有 '"k8s.io/initial-events-end": "true"' 注解。之后,监视流会照常进行,将与更改对应的监控事件(subsequent to the RV)发送到被监视的对象。 当设置了 'sendInitialEvents' 选项时,我们还需要设置 'resourceVersionMatch' 选项。监视请求的语义如下: - 'resourceVersionMatch' = NotOlderThan 解释为 "data at the provided as the provided as the provided 'resourceVersion'",当状态同步到 'resourceVersion' 时,书签事件至少作为 ListOptions 提供的 "resourceVersion" 提供。如果未设置 'resourceVersion',则会将其解释为 "consistent read",并且当状态在请求开始处理时至少同步时,会发送书签事件。- 'resourceVersionMatch' 设置为任何其他值或取消设置 Invalid 错误。 如果 'resourceVersion="" 或 'resourceVersion="0"' (用于向后兼容的原因)和 false,则默认为 true。 |
|
| list/watch 调用的超时。这限制了调用的持续时间,而不考虑任何活动或不活跃。 |
|
| 观察对上述资源的更改,并将其恢复为添加、更新和删除通知的流。指定 resourceVersion。 |
- HTTP 方法
-
GET
- 描述
- 观察单个对 MutatingWebhookConfiguration 列表的更改。已弃用: 使用 'watch' 参数和 list 操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
30.2.2.3. /apis/admissionregistration.k8s.io/v1/mutatingwebhookconfigurations/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| MutatingWebhookConfiguration 的名称 |
参数 | 类型 | 描述 |
---|---|---|
|
| 如果 'true',则输出会输出。 |
- HTTP 方法
-
DELETE
- 描述
- 删除 MutatingWebhookConfiguration
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| 应该删除对象前的持续时间(以秒为单位)。值必须是非负整数。值零表示立即删除。如果这个值为 nil,则使用指定类型的默认宽限期。如果没有指定,则默认为每个对象值。零表示立即删除。 |
|
| deprecated :请使用 PropagationPolicy,此字段将在 1.7 中弃用。依赖的对象应该被孤立。如果为 true/false,则"orphan"终结器将从对象的终结器列表添加到/删除。可以设置此字段或 PropagationPolicy,但不能同时设置这两个字段。 |
|
| 是否以及如何执行垃圾回收。可以设置此字段或 OrphanDependents,但不能同时设置这两个字段。默认策略由 metadata.finalizers 和特定于资源的默认策略中设置的现有终结器决定。可接受值为:'Orphan' - 孤立依赖项; 'Background' - 允许垃圾收集器删除后台依赖的依赖项;'Foreground' - 一个级联策略,会删除前台所有依赖的级联策略。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 读取指定的 MutatingWebhookConfiguration
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 MutatingWebhookConfiguration
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。应用请求需要此字段(application/apply-patch),但对于非应用补丁类型(JsonPatch、MergePatch、strategicMergePatch)是可选的。 |
|
| fieldValidation 指示服务器如何处理包含未知或重复字段的请求(POST/PUT/PATCH)中的对象。有效值为: - Ignore :这将忽略从对象静默丢弃的所有未知字段,并将忽略所有但解码器遇到的最后重复字段。这是 v1.23. - Warn: 在 v1.23 之前的默认行为:这会通过从对象丢弃的每个未知字段以及遇到的每个重复字段来发送警告。如果没有其他错误,请求仍会成功,且只保留任何重复字段的最后一个。这是 v1.23+ - Strict 的默认值:如果从对象中删除任何未知字段,或者存在任何重复字段,则会失败并显示 BadRequest 错误。从服务器返回的错误将包含遇到的所有未知和重复字段。 |
|
| 强制尝试"强制"应用请求。这意味着用户将重新排序由其他人员拥有的冲突字段。对于非应用补丁请求,必须取消设置 force 标志。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 MutatingWebhookConfiguration
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。 |
|
| fieldValidation 指示服务器如何处理包含未知或重复字段的请求(POST/PUT/PATCH)中的对象。有效值为: - Ignore :这将忽略从对象静默丢弃的所有未知字段,并将忽略所有但解码器遇到的最后重复字段。这是 v1.23. - Warn: 在 v1.23 之前的默认行为:这会通过从对象丢弃的每个未知字段以及遇到的每个重复字段来发送警告。如果没有其他错误,请求仍会成功,且只保留任何重复字段的最后一个。这是 v1.23+ - Strict 的默认值:如果从对象中删除任何未知字段,或者存在任何重复字段,则会失败并显示 BadRequest 错误。从服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
30.2.2.4. /apis/admissionregistration.k8s.io/v1/watch/mutatingwebhookconfigurations/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| MutatingWebhookConfiguration 的名称 |
参数 | 类型 | 描述 |
---|---|---|
|
| allowWatchBookmarks请求类型为“BOOKMARK”的监视事件。没有实现书签的服务器可能会忽略这个标志和书签,由服务器自由裁量发送。客户端不应假设书签在任何特定间隔返回,也不会假定服务器在会话期间发送任何 BOOKMARK 事件。如果这不是监视,则忽略此字段。 |
|
| 从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,则必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误的令牌的列表请求,服务器将使用从下一个密钥开始的列表进行响应,但从最新的快照开始,从上一个列表结果(创建、修改或删除)后,创建、修改或删除第一个列表请求将包含在响应中,只要它们的键位于"下一密钥"后。 当监视为 true 时,不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不错过任何修改。 |
|
| 用于按字段限制返回对象列表的选择器。默认为任何内容。 |
|
| 一个选择器,用于按标签限制返回的对象列表。默认为任何内容。 |
|
| limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的 'continue' 字段设置为可用于同一初始查询的值,以检索下一个结果集合。如果过滤了所有请求的对象,设置限制可能会小于请求的项目数量(最多零项),并且客户端应该只使用 continue 字段的存在来确定是否有可用的结果。服务器可能选择不支持 limit 参数,并将返回所有可用结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假设没有更多结果可用。如果 watch 为 true,则不支持此字段。 服务器保证,在使用 continue 时返回的对象与在没有限制的情况下发出单个列表调用时返回的对象将相同,即在发出第一个请求后没有创建、修改或删除的对象。这有时被称为一致的快照,并确保使用限制的客户端接收大量结果的较小的块可以确保它们可以看到所有可能的对象。如果在块列表列表期间更新对象,则返回第一个列表结果时存在的对象版本。 |
|
| 如果 'true',则输出会输出。 |
|
| resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions 默认为未设置 |
|
| resourceVersionMatch 决定 resourceVersion 如何应用到列表调用。强烈建议您为设置 resourceVersion 的列表调用设置 resourceVersionMatch,详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions。 默认为未设置 |
|
| 'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,监视流将以 synthetic 事件开头,以生成集合中对象的当前状态。发送完所有此类事件后,将发送一个合成"Bookmark"事件。书签将报告与一组对象对应的 ResourceVersion (RV),并标有 '"k8s.io/initial-events-end": "true"' 注解。之后,监视流会照常进行,将与更改对应的监控事件(subsequent to the RV)发送到被监视的对象。 当设置了 'sendInitialEvents' 选项时,我们还需要设置 'resourceVersionMatch' 选项。监视请求的语义如下: - 'resourceVersionMatch' = NotOlderThan 解释为 "data at the provided as the provided as the provided 'resourceVersion'",当状态同步到 'resourceVersion' 时,书签事件至少作为 ListOptions 提供的 "resourceVersion" 提供。如果未设置 'resourceVersion',则会将其解释为 "consistent read",并且当状态在请求开始处理时至少同步时,会发送书签事件。- 'resourceVersionMatch' 设置为任何其他值或取消设置 Invalid 错误。 如果 'resourceVersion="" 或 'resourceVersion="0"' (用于向后兼容的原因)和 false,则默认为 true。 |
|
| list/watch 调用的超时。这限制了调用的持续时间,而不考虑任何活动或不活跃。 |
|
| 观察对上述资源的更改,并将其恢复为添加、更新和删除通知的流。指定 resourceVersion。 |
- HTTP 方法
-
GET
- 描述
- 观察对 kind MutatingWebhookConfiguration 对象的更改。已弃用:使用带有列表操作的 'watch' 参数,而是过滤到带有 'fieldSelector' 参数的单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |