扩展 API
扩展 API 的参考指南
摘要
第 1 章 扩展 API
1.1. APIService [apiregistration.k8s.io/v1]
- 描述
- APIService 代表特定 GroupVersion 的服务器。name 必须是 "version.group"。
- 类型
-
对象
1.2. CustomResourceDefinition [apiextensions.k8s.io/v1]
- 描述
- CustomResourceDefinition 代表应在 API 服务器上公开的资源。其名称必须采用 <.spec.name>.<.spec.group> 格式。
- 类型
-
对象
1.3. MutatingWebhookConfiguration [admissionregistration.k8s.io/v1]
- 描述
- MutatingWebhookConfiguration 描述了接受或拒绝并更改对象的和准入 Webhook 的配置。
- 类型
-
对象
1.4. ValidatingWebhookConfiguration [admissionregistration.k8s.io/v1]
- 描述
- ValidatingWebhookConfiguration 描述了 和 admission webhook 的配置,它们接受或拒绝和对象,而不更改它。
- 类型
-
对象
第 2 章 APIService [apiregistration.k8s.io/v1]
- 描述
- APIService 代表特定 GroupVersion 的服务器。name 必须是 "version.group"。
- 类型
-
对象
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 | |
|
| APIServiceSpec 包含查找和与服务器通信的信息。仅支持 https,但您可以禁用证书验证。 |
|
| APIServiceStatus 包含有关 API 服务器的派生信息 |
2.1.1. .spec
- 描述
- APIServiceSpec 包含查找和与服务器通信的信息。仅支持 https,但您可以禁用证书验证。
- 类型
-
object
- 必填
-
groupPriorityMinimum
-
versionPriority
-
属性 | 类型 | 描述 |
---|---|---|
|
| cabundle 是 PEM 编码的 CA 捆绑包,它将用于验证 API 服务器的 serving 证书。如果未指定,则使用 apiserver 上的系统信任 root。 |
|
| group 是这个服务器主机的 API 组名称 |
|
| GroupPriorityMininum 是此组至少应该具有的优先级。优先级更高的意味着客户端优先于优先级较低的组。请注意,此组的其他版本可能会指定更高的 GroupPriorityMininum 值,以便整个组具有更高的优先级。主排序基于 GroupPriorityMinimum,将最高数字排序为最低(10 之前的 20 个)。辅助排序基于对象名称的字母比较。(v1.bar before v1.foo)我们推荐类似:18000 和 PaaSes (OpenShift, Deis)中的内容。 |
|
| insecureSkipTLSVerify 在与此服务器通信时禁用 TLS 证书验证。强烈建议不要这样做。您应该改为使用 CABundle。 |
|
| ServiceReference 包含对 Service.legacy.k8s.io 的引用 |
|
| version 是这个服务器主机的 API 版本。例如:"v1" |
|
| VersionPriority 控制其组中此 API 版本的顺序。必须大于零。主排序基于 VersionPriority,最高排序为最低值(20 之前的 10 个)。由于它位于组内部,因此数字可能很小,可能位于 10s 中。如果版本优先级相等,版本字符串将用于计算组中的顺序。如果版本字符串为 "kube-like",它将按字典顺序排序为非类似"kube-like"版本字符串。"类似于kube-like"版本以 "v" 开头,然后跟一个数字(主要版本),然后是字符串 "alpha" 或 "beta" 以及另一个数字(次版本)。它们首先按 GA > beta > alpha 排序(其中 GA 是一个没有后缀的版本,如 beta 或 alpha),然后比较主版本,然后比较次版本。一个排序版本列表示例: v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1, v11alpha2, foo1, foo10。 |
2.1.2. .spec.service
- 描述
- ServiceReference 包含对 Service.legacy.k8s.io 的引用
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| name 是服务的名称 |
|
| namespace 是服务的命名空间 |
|
|
如果指定,托管 Webhook 的服务上的端口。默认为 443,以便向后兼容。 |
2.1.3. .status
- 描述
- APIServiceStatus 包含有关 API 服务器的派生信息
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| apiService 的当前状态。 |
|
| APIServiceCondition 描述了特定点上的 APIService 状态 |
2.1.4. .status.conditions
- 描述
- apiService 的当前状态。
- 类型
-
array
2.1.5. .status.conditions[]
- 描述
- APIServiceCondition 描述了特定点上的 APIService 状态
- 类型
-
object
- 必填
-
type
-
status
-
属性 | 类型 | 描述 |
---|---|---|
| 条件从一个状态转换到另一个状态最后一次的时间。 | |
|
| 人类可读的消息,指示最后一次转换的详细信息。 |
|
| 条件最后一次转换的唯一、一词、CamelCase 原因。 |
|
| status 是条件的状态。可以是 True, False, Unknown。 |
|
| type 是条件的类型。 |
2.2. API 端点
可用的 API 端点如下:
/apis/apiregistration.k8s.io/v1/apiservices
-
DELETE
: 删除 APIService 集合 -
GET
: 列出或监视类型为 APIService 的对象 -
POST
:创建 APIService
-
/apis/apiregistration.k8s.io/v1/watch/apiservices
-
GET
: 观察单个对 APIService 列表的更改。已弃用:使用带列表操作的 'watch' 参数。
-
/apis/apiregistration.k8s.io/v1/apiservices/{name}
-
DELETE
:删除 APIService -
GET
:读取指定的 APIService -
PATCH
: 部分更新指定的 APIService -
PUT
:替换指定的 APIService
-
/apis/apiregistration.k8s.io/v1/watch/apiservices/{name}
-
GET
: 观察对类型为 APIService 的对象的更改。已弃用:使用带有 list 操作的 'watch' 参数,而是过滤到带有 'fieldSelector' 参数的单个项目。
-
/apis/apiregistration.k8s.io/v1/apiservices/{name}/status
-
GET
:指定 APIService 的读取状态 -
PATCH
: 部分更新指定 APIService 的状态 -
PUT
:替换指定 APIService 的状态
-
2.2.1. /apis/apiregistration.k8s.io/v1/apiservices
- HTTP 方法
-
DELETE
- 描述
- 删除 APIService 集合
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出或监视由 APIService 类型的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 APIService
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
2.2.2. /apis/apiregistration.k8s.io/v1/watch/apiservices
- HTTP 方法
-
GET
- 描述
- 观察单个对 APIService 列表的更改。已弃用:使用带列表操作的 'watch' 参数。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
2.2.3. /apis/apiregistration.k8s.io/v1/apiservices/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| APIService 的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除 APIService
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 读取指定的 APIService
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 APIService
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 APIService
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
2.2.4. /apis/apiregistration.k8s.io/v1/watch/apiservices/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| APIService 的名称 |
- HTTP 方法
-
GET
- 描述
- 观察对类型为 APIService 的对象的更改。已弃用:使用带列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
2.2.5. /apis/apiregistration.k8s.io/v1/apiservices/{name}/status
参数 | 类型 | 描述 |
---|---|---|
|
| APIService 的名称 |
- HTTP 方法
-
GET
- 描述
- 指定 APIService 的读取状态
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定 APIService 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定 APIService 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
第 3 章 CustomResourceDefinition [apiextensions.k8s.io/v1]
- 描述
- CustomResourceDefinition 代表应在 API 服务器上公开的资源。其名称必须采用 <.spec.name>.<.spec.group> 格式。
- 类型
-
object
- 必填
-
spec
-
3.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 | |
|
| CustomResourceDefinitionSpec 描述了用户如何显示其资源 |
|
| CustomResourceDefinitionStatus 表示 CustomResourceDefinition 的状态 |
3.1.1. .spec
- 描述
- CustomResourceDefinitionSpec 描述了用户如何显示其资源
- 类型
-
object
- 必填
-
group
-
names
-
scope
-
版本
-
属性 | 类型 | 描述 |
---|---|---|
|
| CustomResourceConversion 描述了如何转换不同版本的 CR。 |
|
|
Group 是定义的自定义资源的 API 组。自定义资源 |
|
| CustomResourceDefinitionNames 表示为这个 CustomResourceDefinition 提供的名称 |
|
|
preserveUnknownFields 表示在保留存储时不应保留 OpenAPI 模式中指定的对象字段。元数据中的元数据、元数据和已知字段总是被保留。此字段已弃用,在 |
|
|
Scope 表示定义的自定义资源是 cluster- 或 namespace-scoped。允许的值是 |
|
| version 是定义的自定义资源的所有 API 版本列表。版本名称用于计算在 API 发现中列出提供版本的顺序。如果版本字符串为 "kube-like",它将按字典顺序排序为非类似"kube-like"版本字符串。"类似于kube-like"版本以 "v" 开头,然后跟一个数字(主要版本),然后是字符串 "alpha" 或 "beta" 以及另一个数字(次版本)。它们首先按 GA > beta > alpha 排序(其中 GA 是一个没有后缀的版本,如 beta 或 alpha),然后比较主版本,然后比较次版本。一个排序版本列表示例: v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1, v11alpha2, foo1, foo10。 |
|
| CustomResourceDefinitionVersion 描述了 CRD 的版本。 |
3.1.2. .spec.conversion
- 描述
- CustomResourceConversion 描述了如何转换不同版本的 CR。
- 类型
-
object
- 必填
-
策略
-
属性 | 类型 | 描述 |
---|---|---|
|
|
strategy 指定自定义资源在版本之间转换的方式。允许的值有: - |
|
| WebhookConversion 描述了如何调用转换 Webhook |
3.1.3. .spec.conversion.webhook
- 描述
- WebhookConversion 描述了如何调用转换 Webhook
- 类型
-
object
- 必填
-
conversionReviewVersions
-
属性 | 类型 | 描述 |
---|---|---|
|
| WebhookClientConfig 包含用于与 webhook 进行 TLS 连接的信息。 |
|
|
conversionReviewVersions 是 Webhook 期望的首选 |
3.1.4. .spec.conversion.webhook.clientConfig
- 描述
- WebhookClientConfig 包含用于与 webhook 进行 TLS 连接的信息。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| cabundle 是 PEM 编码的 CA 捆绑包,它将用于验证 webhook 的服务器证书。如果未指定,则使用 apiserver 上的系统信任 root。 |
|
| ServiceReference 包含对 Service.legacy.k8s.io 的引用 |
|
|
URL 以标准 URL 格式提供 webhook 的位置(
请注意,使用 方案必须是 "https";URL 必须以 "https://" 开头。 路径是可选的,如果存在可以是 URL 中允许的字符串。您可以使用路径将任意字符串传递给 webhook,例如集群标识符。 不允许使用用户或基本身份验证,如 "user:password@"。不允许 slices ("""…")和查询参数("?…")。 |
3.1.5. .spec.conversion.webhook.clientConfig.service
- 描述
- ServiceReference 包含对 Service.legacy.k8s.io 的引用
- 类型
-
object
- 必填
-
namespace
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 是服务的名称。必填 |
|
| namespace 是服务的命名空间。必填 |
|
| path 是要联系 Webhook 的可选 URL 路径。 |
|
|
port 是要联系 Webhook 的可选服务端口。 |
3.1.6. .spec.names
- 描述
- CustomResourceDefinitionNames 表示为这个 CustomResourceDefinition 提供的名称
- 类型
-
object
- 必填
-
plural
-
kind
-
属性 | 类型 | 描述 |
---|---|---|
|
|
类别是此自定义资源所属的分组资源列表(如 'all')。这在 API 发现文档中发布,供客户端用于支持诸如 |
|
|
kind 是资源的序列化类型。它通常是 CamelCase 和 singular。自定义资源实例将使用这个值作为 API 调用中的 |
|
| listKind 是此资源列表的序列化类型。默认为 "'kind'List"。 |
|
|
plural 是要服务的资源的复数名称。自定义资源在 /apis//< |
|
|
shortNames 是资源的短名称,在 API 发现文档中公开,供客户端用来支持诸如 |
|
|
单数是资源的单数名称。它必须都是小写。默认为小写 |
3.1.7. .spec.versions
- 描述
- version 是定义的自定义资源的所有 API 版本列表。版本名称用于计算在 API 发现中列出提供版本的顺序。如果版本字符串为 "kube-like",它将按字典顺序排序为非类似"kube-like"版本字符串。"类似于kube-like"版本以 "v" 开头,然后跟一个数字(主要版本),然后是字符串 "alpha" 或 "beta" 以及另一个数字(次版本)。它们首先按 GA > beta > alpha 排序(其中 GA 是一个没有后缀的版本,如 beta 或 alpha),然后比较主版本,然后比较次版本。一个排序版本列表示例: v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1, v11alpha2, foo1, foo10。
- 类型
-
array
3.1.8. .spec.versions[]
- 描述
- CustomResourceDefinitionVersion 描述了 CRD 的版本。
- 类型
-
object
- 必填
-
name
-
served
-
storage
-
属性 | 类型 | 描述 |
---|---|---|
|
| additionalPrinterColumns 指定表输出中返回的额外列。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#receiving-resources-as-tables。如果没有指定列,则使用一行显示自定义资源的年龄。 |
|
| CustomResourceColumnDefinition 为服务器端打印指定一个列。 |
|
| 弃用表示自定义资源 API 的这个版本已弃用。当设置为 true 时,对此版本的 API 请求会在服务器响应中接收警告标头。默认为false。 |
|
|
deprecationWarning 覆盖返回到 API 客户端的默认警告。只有在 |
|
|
name 是版本名称,如 "v1", "v2beta1" 等。如果提供为 true,则自定义资源在此版本 |
|
| CustomResourceValidation 是 CustomResources 的验证方法列表。 |
|
| 服务是一个标志,启用/禁用此版本通过 REST API 提供 |
|
| Storage 表示在将自定义资源持久化到存储时应使用此版本。必须只有一个带有 storage=true 版本。 |
|
| CustomResourceSubresources 为 CustomResources 定义 status 和 scale 子资源。 |
3.1.9. .spec.versions[].additionalPrinterColumns
- 描述
- additionalPrinterColumns 指定表输出中返回的额外列。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#receiving-resources-as-tables。如果没有指定列,则使用一行显示自定义资源的年龄。
- 类型
-
array
3.1.10. .spec.versions[].additionalPrinterColumns[]
- 描述
- CustomResourceColumnDefinition 为服务器端打印指定一个列。
- 类型
-
object
- 必填
-
name
-
type
-
jsonPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| description 是此列的人类可读描述。 |
|
| Format 是此列的可选 OpenAPI 类型定义。'name' 格式应用于主标识符列,以帮助客户端识别列是资源名称。详情请查看 https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types。 |
|
| jsonpath 是一个一个简单的 JSON 路径(例如,使用数组表示法),它会针对每个自定义资源进行评估,以便为此列生成值。 |
|
| name 是该列的人类可读名称。 |
|
| 优先级是一个整数,定义此列的相对重要性,与其他列相比。较低数字被视为优先级更高。在有限空间场景中可能会省略的列应赋予优先级大于 0。 |
|
| type 是此列的 OpenAPI 类型定义。详情请查看 https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types。 |
3.1.11. .spec.versions[].schema
- 描述
- CustomResourceValidation 是 CustomResources 的验证方法列表。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| openAPIV3Schema 是 OpenAPI v3 模式,用于验证和修剪。 |
3.1.12. .spec.versions[].subresources
- 描述
- CustomResourceSubresources 为 CustomResources 定义 status 和 scale 子资源。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| CustomResourceSubresourceScale 定义如何为 CustomResource 提供 scale 子资源。 |
|
|
CustomResourceSubresourceStatus 定义如何为 CustomResources 提供 status 子资源。状态由 CustomResource 中的 |
3.1.13. .spec.versions[].subresources.scale
- 描述
- CustomResourceSubresourceScale 定义如何为 CustomResource 提供 scale 子资源。
- 类型
-
object
- 必填
-
specReplicasPath
-
statusReplicasPath
-
属性 | 类型 | 描述 |
---|---|---|
|
|
labelSelectorPath 在自定义资源中定义与 Scale |
|
|
specReplicasPath 定义自定义资源中的 JSON 路径,该路径对应于 Scale |
|
|
statusReplicasPath 定义自定义资源中的 JSON 路径,对应于 Scale |
3.1.14. .spec.versions[].subresources.status
- 描述
-
CustomResourceSubresourceStatus 定义如何为 CustomResources 提供 status 子资源。状态由 CustomResource 中的
.status
JSON 路径表示。设置后,Ceph 会公开自定义资源 * PUT 请求到 /status 子资源的 /status 子资源获取自定义资源对象,并忽略除 status 小节之外的任何状态片段更改的 /status 子资源忽略对 status 小节的更改。 - 类型
-
对象
3.1.15. .status
- 描述
- CustomResourceDefinitionStatus 表示 CustomResourceDefinition 的状态
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| CustomResourceDefinitionNames 表示为这个 CustomResourceDefinition 提供的名称 |
|
| conditions 表示 CustomResourceDefinition 的特定方面的状态 |
|
| CustomResourceDefinitionCondition 包含此 pod 的当前条件的详情。 |
|
|
storedVersions 列出之前保留的所有 CustomResource 版本。跟踪这些版本允许 etcd 中保存版本的迁移路径。该字段是可变的,因此迁移控制器可以完成到另一个版本的迁移(确保存储中没有保留旧对象),然后从此列表中删除其余版本。在此列表中存在时,可能无法从 |
3.1.16. .status.acceptedNames
- 描述
- CustomResourceDefinitionNames 表示为这个 CustomResourceDefinition 提供的名称
- 类型
-
object
- 必填
-
plural
-
kind
-
属性 | 类型 | 描述 |
---|---|---|
|
|
类别是此自定义资源所属的分组资源列表(如 'all')。这在 API 发现文档中发布,供客户端用于支持诸如 |
|
|
kind 是资源的序列化类型。它通常是 CamelCase 和 singular。自定义资源实例将使用这个值作为 API 调用中的 |
|
| listKind 是此资源列表的序列化类型。默认为 "'kind'List"。 |
|
|
plural 是要服务的资源的复数名称。自定义资源在 /apis//< |
|
|
shortNames 是资源的短名称,在 API 发现文档中公开,供客户端用来支持诸如 |
|
|
单数是资源的单数名称。它必须都是小写。默认为小写 |
3.1.17. .status.conditions
- 描述
- conditions 表示 CustomResourceDefinition 的特定方面的状态
- 类型
-
array
3.1.18. .status.conditions[]
- 描述
- CustomResourceDefinitionCondition 包含此 pod 的当前条件的详情。
- 类型
-
object
- 必填
-
type
-
status
-
属性 | 类型 | 描述 |
---|---|---|
| lastTransitionTime 时间,条件从一个状态转换到另一个状态。 | |
|
| Message 是人类可读的消息,表示有关最后一次转换的详细信息。 |
|
| reason 是条件最后一次转换的唯一一词 CamelCase 原因。 |
|
| status 是条件的状态。可以是 True, False, Unknown。 |
|
| type 是条件的类型。类型包括 Established、NamesAccepted 和 Terminating。 |
3.2. API 端点
可用的 API 端点如下:
/apis/apiextensions.k8s.io/v1/customresourcedefinitions
-
DELETE
: 删除 CustomResourceDefinition 集合 -
GET
: 列出或监视类型为 CustomResourceDefinition 的对象 -
POST
:创建 CustomResourceDefinition
-
/apis/apiextensions.k8s.io/v1/watch/customresourcedefinitions
-
GET
: 观察单个对 CustomResourceDefinition 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
-
/apis/apiextensions.k8s.io/v1/customresourcedefinitions/{name}
-
DELETE
:删除 CustomResourceDefinition -
GET
:读取指定的 CustomResourceDefinition -
PATCH
: 部分更新指定的 CustomResourceDefinition -
PUT
:替换指定的 CustomResourceDefinition
-
/apis/apiextensions.k8s.io/v1/watch/customresourcedefinitions/{name}
-
GET
: 观察对类型为 CustomResourceDefinition 的对象的更改。已弃用:使用带有 list 操作的 'watch' 参数,而是过滤为带有 'fieldSelector' 参数的单个项目。
-
/apis/apiextensions.k8s.io/v1/customresourcedefinitions/{name}/status
-
GET
:指定 CustomResourceDefinition 的读取状态 -
PATCH
: 部分更新指定 CustomResourceDefinition 的状态 -
PUT
:替换指定 CustomResourceDefinition 的状态
-
3.2.1. /apis/apiextensions.k8s.io/v1/customresourcedefinitions
- HTTP 方法
-
DELETE
- 描述
- 删除 CustomResourceDefinition 集合
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 CustomResourceDefinition 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 CustomResourceDefinition
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
202 - Accepted | |
401 - Unauthorized | 空 |
3.2.2. /apis/apiextensions.k8s.io/v1/watch/customresourcedefinitions
- HTTP 方法
-
GET
- 描述
- 观察单个对 CustomResourceDefinition 列表的更改。已弃用:改为使用 'watch' 参数和 list 操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
3.2.3. /apis/apiextensions.k8s.io/v1/customresourcedefinitions/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| CustomResourceDefinition 的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除 CustomResourceDefinition
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 读取指定的 CustomResourceDefinition
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 CustomResourceDefinition
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 CustomResourceDefinition
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
3.2.4. /apis/apiextensions.k8s.io/v1/watch/customresourcedefinitions/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| CustomResourceDefinition 的名称 |
- HTTP 方法
-
GET
- 描述
- 观察对类型为 CustomResourceDefinition 的对象的更改。已弃用:使用带列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
3.2.5. /apis/apiextensions.k8s.io/v1/customresourcedefinitions/{name}/status
参数 | 类型 | 描述 |
---|---|---|
|
| CustomResourceDefinition 的名称 |
- HTTP 方法
-
GET
- 描述
- 指定 CustomResourceDefinition 的读取状态
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定 CustomResourceDefinition 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定 CustomResourceDefinition 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
第 4 章 MutatingWebhookConfiguration [admissionregistration.k8s.io/v1]
- 描述
- MutatingWebhookConfiguration 描述了接受或拒绝并更改对象的和准入 Webhook 的配置。
- 类型
-
对象
4.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 以及受影响的资源和操作的列表。 |
|
| mutatingwebhook 描述了准入 Webhook 以及它应用到的资源和操作。 |
4.1.1. .webhooks
- 描述
- Webhook 是 Webhook 以及受影响的资源和操作的列表。
- 类型
-
array
4.1.2. .webhooks[]
- 描述
- mutatingwebhook 描述了准入 Webhook 以及它应用到的资源和操作。
- 类型
-
object
- 必填
-
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,拒绝请求 - If failurePolicy=Ignore,则忽略错误,并跳过 Webhook 这是一个 beta 功能,由 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 的名称。名称应该是完全限定的,如 imagepolicy.kubernetes.io,其中 "imagepolicy" 是 webhook 的名称,kubernetes.io 是机构的名称。必需。 |
| namespaceSelector 决定是否根据该对象的命名空间与选择器匹配而在对象上运行 Webhook。如果对象本身是命名空间,则在 object.metadata.labels 上执行匹配。如果对象是另一个集群范围的资源,则永远不会跳过 Webhook。 例如,要在命名空间没有与 "0" 或 "1" 的 "runlevel" 关联的对象上运行 webhook;您将设置选择器,如下所示: "namespaceSelector": { "matchExpressions": [ { "key": "runlevel", "operator": "NotIn", "values": [ "0", "1" ] } ] } 如果您希望仅在任何命名空间与 "prod" 或 "staging" 关联的对象上运行 webhook;您将按如下方式设置选择器: "namespaceSelector": { "matchExpressions": [ { "key": "environment", "operator": "In", "values": [ "prod", "staging" ] } ] } 有关标签选择器的更多信息,请参阅 https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/。 默认为空 LabelSelector,它将匹配所有内容。 | |
| objectSelector 决定是否根据对象是否匹配标签运行 webhook。将针对要发送到 webhook 的 oldObject 和 newObject 评估 objectSelector,并在其中一个对象与选择器匹配时被视为匹配。一个 null 对象(如果是 create, 或 newObject in the delete 时),或没有标签(如 DeploymentRollback 或 PodProxyOptions 对象)的对象不会被认为匹配。只有在 webhook 是 opt-in 时才使用对象选择器,因为最终用户可以通过设置标签来跳过准入 Webhook。默认为空 LabelSelector,它将匹配所有内容。 | |
|
| reinvocationPolicy 表示此 webhook 是否应该多次作为单个准入评估的一部分调用。允许的值是 "Never" 和 "IfNeeded"。 Never:在单个准入评估中不会多次调用 Webhook。 IfNeeded :如果对象在初始 webhook 调用后被其他准入插件修改,则 webhook 将至少被称为一个额外的时间作为准入评估的一部分。指定此选项的 Webhook 必须 是幂等的,能够处理之前接受的对象。注: 无法保证额外的调用数量完全匹配。* 如果额外的调用会对对象进行进一步修改,无法保证再次调用 Webhook。* 使用此选项的 Webhook 可以重新排序,以最小化额外调用的数量。* 要在所有变异完成后验证对象,请使用验证准入 Webhook。 默认为 "Never"。
可能枚举值:- |
|
| 规则描述了 webhook 对资源/子资源执行的操作。如果 webhook 匹配任何 规则,则 webhook 会小心操作。但是,为了防止 ValidatingAdmissionWebhooks 和 MutatingAdmissionWebhooks 将集群置于状态,在没有完全禁用插件的情况下,无法完全禁用插件,ValidatingAdmissionWebhooks 和 MutatingAdmissionWebhooks 不会对 ValidatingWebhookConfiguration 和 MutatingWebhookConfiguration 对象的准入请求调用。 |
|
| RuleWithOperations 是 Operations 和 Resources 的元组。建议确保所有元组扩展都有效。 |
|
| SideEffects 说明此 webhook 是否有副作用。可接受值为: None, NoneOnDryRun (通过 v1beta1 创建的webhook 也可能会指定 some 或 Unknown)。具有副作用的 Webhook 必须实施协调系统,因为准入链中的未来步骤可能会拒绝请求,因此需要撤销副作用。如果带有 dryRun 属性的请求与带有 sideEffects == Unknown 或 some 的 webhook 匹配,则会自动拒绝请求。
可能枚举值: - |
|
| timeoutSeconds 指定此 webhook 的超时时间。在超时通过后,webhook 调用将被忽略,或者 API 调用将根据失败策略失败。超时值必须在 1 到 30 秒之间。默认值为 10 秒。 |
4.1.3. .webhooks[].clientConfig
- 描述
- WebhookClientConfig 包含与 webhook 进行 TLS 连接的信息
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
| ServiceReference 包含对 Service.legacy.k8s.io 的引用 |
|
|
URL 以标准 URL 格式提供 webhook 的位置(
请注意,使用 方案必须是 "https";URL 必须以 "https://" 开头。 路径是可选的,如果存在可以是 URL 中允许的字符串。您可以使用路径将任意字符串传递给 webhook,例如集群标识符。 不允许使用用户或基本身份验证,如 "user:password@"。不允许 slices ("""…")和查询参数("?…")。 |
4.1.4. .webhooks[].clientConfig.service
- 描述
- ServiceReference 包含对 Service.legacy.k8s.io 的引用
- 类型
-
object
- 必填
-
namespace
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
如果指定,托管 Webhook 的服务上的端口。默认为 443,以便向后兼容。 |
4.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,拒绝请求 - If failurePolicy=Ignore,则忽略错误,并跳过 Webhook
这是一个 beta 功能,由 AdmissionWebhookMatchConditions 功能门管理。
- 类型
-
数组
4.1.6. .webhooks[].matchConditions[]
- 描述
- MatchCondition 代表一个条件,需要满足该条件才能将请求发送到 webhook。
- 类型
-
object
- 必填
-
名称
-
expression
-
属性 | 类型 | 描述 |
---|---|---|
|
| expression 代表将由 CEL 评估的表达式。必须评估 bool。CEL 表达式可以访问 AdmissionRequest 和 Authorizer 的内容,并组织成 CEL 变量: 'object' - 来自传入请求的对象。对于 DELETE 请求,值为 null。'oldObject' - 现有对象。CREATE 请求的值是 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。有关 CEL 的文档 :https://kubernetes.io/docs/reference/using-api/cel/ 必需。 |
|
| name 是此匹配条件的标识符,用于战略合并 MatchConditions,并提供用于日志记录目的的标识符。相关表达式的描述性应为一个好名称。name 必须是包括字母数字字符、'-'、'' 或 '.' 的合格名称,且必须以字母数字字符开头和结尾(例如。'MyName', 或 'my.name', 或 '123-abc', 用于验证的 regex 为 '([A-Za-z0-9][-A-Za-z0-9.]*)?[A-Za-z0-9]'),带有可选的 DNS 子域前缀和 '/'(如 'example.com/MyName') 必需。 |
4.1.7. .webhooks[].rules
- 描述
- 规则描述了 webhook 对资源/子资源执行的操作。如果 webhook 匹配任何 规则,则 webhook 会小心操作。但是,为了防止 ValidatingAdmissionWebhooks 和 MutatingAdmissionWebhooks 将集群置于状态,在没有完全禁用插件的情况下,无法完全禁用插件,ValidatingAdmissionWebhooks 和 MutatingAdmissionWebhooks 不会对 ValidatingWebhookConfiguration 和 MutatingWebhookConfiguration 对象的准入请求调用。
- 类型
-
array
4.1.8. .webhooks[].rules[]
- 描述
- RuleWithOperations 是 Operations 和 Resources 的元组。建议确保所有元组扩展都有效。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| apiGroups 是资源所属的 API 组。'' 是所有组。如果存在 '',则片段的长度必须是一。必需。 |
|
| APIVersions 是资源所属的 API 版本。'' 是所有版本。如果存在 '',则片段的长度必须是一。必需。 |
|
| 操作是准入 hook 为所有操作以及添加的任何准入操作( CREATE、UPDATE、DELETE、CONNECT 或 *)的操作。如果 '*' 存在,则片段的长度必须是一。必需。 |
|
| resources 是一组这个规则应用到的资源列表。 例如: 'pods' 表示 pod。'pods/log' 表示 pod 的日志子资源。' ' 表示所有资源,但不是子资源。'pods/' 表示所有 pod 子资源。'/scale' 表示所有 scale 子资源。'Suffix' 表示所有资源及其子资源。 如果存在通配符,验证规则将确保资源不会相互重叠。 根据封闭对象,可能无法允许子资源。必需。 |
|
| scope 指定此规则的范围。有效值为 "Cluster", "Namespaced", 和 "" "Cluster" 表示只有集群范围的资源与此规则匹配。命名空间 API 对象是集群范围的。"namespaced" 表示只有命名空间的资源将与此规则匹配。"" 表示没有范围限制。子资源与其父资源的范围匹配。默认为 "*"。 |
4.2. API 端点
可用的 API 端点如下:
/apis/admissionregistration.k8s.io/v1/mutatingwebhookconfigurations
-
DELETE
: 删除 MutatingWebhookConfiguration 集合 -
GET
: list 或 watch kind MutatingWebhookConfiguration -
POST
:创建 MutatingWebhookConfiguration
-
/apis/admissionregistration.k8s.io/v1/watch/mutatingwebhookconfigurations
-
GET
: 观察单个更改对 MutatingWebhookConfiguration 列表。弃用:改为使用 'watch' 参数和列表操作。
-
/apis/admissionregistration.k8s.io/v1/mutatingwebhookconfigurations/{name}
-
DELETE
: 删除 MutatingWebhookConfiguration -
GET
:读取指定的 MutatingWebhookConfiguration -
PATCH
: 部分更新指定的 MutatingWebhookConfiguration -
PUT
:替换指定的 MutatingWebhookConfiguration
-
/apis/admissionregistration.k8s.io/v1/watch/mutatingwebhookconfigurations/{name}
-
GET
: 观察对类型为 MutatingWebhookConfiguration 的对象的更改。已弃用:使用带有 list 操作的 'watch' 参数,而是过滤为带有 'fieldSelector' 参数的单个项目。
-
4.2.1. /apis/admissionregistration.k8s.io/v1/mutatingwebhookconfigurations
- HTTP 方法
-
DELETE
- 描述
- 删除 MutatingWebhookConfiguration 集合
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 MutatingWebhookConfiguration 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 MutatingWebhookConfiguration
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
202 - Accepted | |
401 - Unauthorized | 空 |
4.2.2. /apis/admissionregistration.k8s.io/v1/watch/mutatingwebhookconfigurations
- HTTP 方法
-
GET
- 描述
- 观察单个对 MutatingWebhookConfiguration 列表的更改。已弃用:使用带列表操作的 'watch' 参数。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
4.2.3. /apis/admissionregistration.k8s.io/v1/mutatingwebhookconfigurations/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| MutatingWebhookConfiguration 的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除 MutatingWebhookConfiguration
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 阅读指定的 MutatingWebhookConfiguration
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 MutatingWebhookConfiguration
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 MutatingWebhookConfiguration
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
4.2.4. /apis/admissionregistration.k8s.io/v1/watch/mutatingwebhookconfigurations/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| MutatingWebhookConfiguration 的名称 |
- HTTP 方法
-
GET
- 描述
- 观察对类型为 MutatingWebhookConfiguration 的对象的更改。已弃用:使用带有 list 操作的 'watch' 参数,而是过滤到带有 'fieldSelector' 参数的单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
第 5 章 ValidatingWebhookConfiguration [admissionregistration.k8s.io/v1]
- 描述
- ValidatingWebhookConfiguration 描述了 和 admission webhook 的配置,它们接受或拒绝和对象,而不更改它。
- 类型
-
对象
5.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 以及受影响的资源和操作的列表。 |
|
| validatingwebhook 描述了准入 Webhook 以及它应用到的资源和操作。 |
5.1.1. .webhooks
- 描述
- Webhook 是 Webhook 以及受影响的资源和操作的列表。
- 类型
-
array
5.1.2. .webhooks[]
- 描述
- validatingwebhook 描述了准入 Webhook 以及它应用到的资源和操作。
- 类型
-
object
- 必填
-
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,拒绝请求 - If failurePolicy=Ignore,则忽略错误,并跳过 Webhook 这是一个 beta 功能,由 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 的名称。名称应该是完全限定的,如 imagepolicy.kubernetes.io,其中 "imagepolicy" 是 webhook 的名称,kubernetes.io 是机构的名称。必需。 |
| namespaceSelector 决定是否根据该对象的命名空间与选择器匹配而在对象上运行 Webhook。如果对象本身是命名空间,则在 object.metadata.labels 上执行匹配。如果对象是另一个集群范围的资源,则永远不会跳过 Webhook。 例如,要在命名空间没有与 "0" 或 "1" 的 "runlevel" 关联的对象上运行 webhook;您将设置选择器,如下所示: "namespaceSelector": { "matchExpressions": [ { "key": "runlevel", "operator": "NotIn", "values": [ "0", "1" ] } ] } 如果您希望仅在任何命名空间与 "prod" 或 "staging" 关联的对象上运行 webhook;您将按如下方式设置选择器: "namespaceSelector": { "matchExpressions": [ { "key": "environment", "operator": "In", "values": [ "prod", "staging" ] } ] } 有关标签选择器的更多信息,请参阅 https://kubernetes.io/docs/concepts/overview/working-with-objects/labels。 默认为空 LabelSelector,它将匹配所有内容。 | |
| objectSelector 决定是否根据对象是否匹配标签运行 webhook。将针对要发送到 webhook 的 oldObject 和 newObject 评估 objectSelector,并在其中一个对象与选择器匹配时被视为匹配。一个 null 对象(如果是 create, 或 newObject in the delete 时),或没有标签(如 DeploymentRollback 或 PodProxyOptions 对象)的对象不会被认为匹配。只有在 webhook 是 opt-in 时才使用对象选择器,因为最终用户可以通过设置标签来跳过准入 Webhook。默认为空 LabelSelector,它将匹配所有内容。 | |
|
| 规则描述了 webhook 对资源/子资源执行的操作。如果 webhook 匹配任何 规则,则 webhook 会小心操作。但是,为了防止 ValidatingAdmissionWebhooks 和 MutatingAdmissionWebhooks 将集群置于状态,在没有完全禁用插件的情况下,无法完全禁用插件,ValidatingAdmissionWebhooks 和 MutatingAdmissionWebhooks 不会对 ValidatingWebhookConfiguration 和 MutatingWebhookConfiguration 对象的准入请求调用。 |
|
| RuleWithOperations 是 Operations 和 Resources 的元组。建议确保所有元组扩展都有效。 |
|
| SideEffects 说明此 webhook 是否有副作用。可接受值为: None, NoneOnDryRun (通过 v1beta1 创建的webhook 也可能会指定 some 或 Unknown)。具有副作用的 Webhook 必须实施协调系统,因为准入链中的未来步骤可能会拒绝请求,因此需要撤销副作用。如果带有 dryRun 属性的请求与带有 sideEffects == Unknown 或 some 的 webhook 匹配,则会自动拒绝请求。
可能枚举值: - |
|
| timeoutSeconds 指定此 webhook 的超时时间。在超时通过后,webhook 调用将被忽略,或者 API 调用将根据失败策略失败。超时值必须在 1 到 30 秒之间。默认值为 10 秒。 |
5.1.3. .webhooks[].clientConfig
- 描述
- WebhookClientConfig 包含与 webhook 进行 TLS 连接的信息
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
| ServiceReference 包含对 Service.legacy.k8s.io 的引用 |
|
|
URL 以标准 URL 格式提供 webhook 的位置(
请注意,使用 方案必须是 "https";URL 必须以 "https://" 开头。 路径是可选的,如果存在可以是 URL 中允许的字符串。您可以使用路径将任意字符串传递给 webhook,例如集群标识符。 不允许使用用户或基本身份验证,如 "user:password@"。不允许 slices ("""…")和查询参数("?…")。 |
5.1.4. .webhooks[].clientConfig.service
- 描述
- ServiceReference 包含对 Service.legacy.k8s.io 的引用
- 类型
-
object
- 必填
-
namespace
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
如果指定,托管 Webhook 的服务上的端口。默认为 443,以便向后兼容。 |
5.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,拒绝请求 - If failurePolicy=Ignore,则忽略错误,并跳过 Webhook
这是一个 beta 功能,由 AdmissionWebhookMatchConditions 功能门管理。
- 类型
-
数组
5.1.6. .webhooks[].matchConditions[]
- 描述
- MatchCondition 代表一个条件,需要满足该条件才能将请求发送到 webhook。
- 类型
-
object
- 必填
-
名称
-
expression
-
属性 | 类型 | 描述 |
---|---|---|
|
| expression 代表将由 CEL 评估的表达式。必须评估 bool。CEL 表达式可以访问 AdmissionRequest 和 Authorizer 的内容,并组织成 CEL 变量: 'object' - 来自传入请求的对象。对于 DELETE 请求,值为 null。'oldObject' - 现有对象。CREATE 请求的值是 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。有关 CEL 的文档 :https://kubernetes.io/docs/reference/using-api/cel/ 必需。 |
|
| name 是此匹配条件的标识符,用于战略合并 MatchConditions,并提供用于日志记录目的的标识符。相关表达式的描述性应为一个好名称。name 必须是包括字母数字字符、'-'、'' 或 '.' 的合格名称,且必须以字母数字字符开头和结尾(例如。'MyName', 或 'my.name', 或 '123-abc', 用于验证的 regex 为 '([A-Za-z0-9][-A-Za-z0-9.]*)?[A-Za-z0-9]'),带有可选的 DNS 子域前缀和 '/'(如 'example.com/MyName') 必需。 |
5.1.7. .webhooks[].rules
- 描述
- 规则描述了 webhook 对资源/子资源执行的操作。如果 webhook 匹配任何 规则,则 webhook 会小心操作。但是,为了防止 ValidatingAdmissionWebhooks 和 MutatingAdmissionWebhooks 将集群置于状态,在没有完全禁用插件的情况下,无法完全禁用插件,ValidatingAdmissionWebhooks 和 MutatingAdmissionWebhooks 不会对 ValidatingWebhookConfiguration 和 MutatingWebhookConfiguration 对象的准入请求调用。
- 类型
-
array
5.1.8. .webhooks[].rules[]
- 描述
- RuleWithOperations 是 Operations 和 Resources 的元组。建议确保所有元组扩展都有效。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| apiGroups 是资源所属的 API 组。'' 是所有组。如果存在 '',则片段的长度必须是一。必需。 |
|
| APIVersions 是资源所属的 API 版本。'' 是所有版本。如果存在 '',则片段的长度必须是一。必需。 |
|
| 操作是准入 hook 为所有操作以及添加的任何准入操作( CREATE、UPDATE、DELETE、CONNECT 或 *)的操作。如果 '*' 存在,则片段的长度必须是一。必需。 |
|
| resources 是一组这个规则应用到的资源列表。 例如: 'pods' 表示 pod。'pods/log' 表示 pod 的日志子资源。' ' 表示所有资源,但不是子资源。'pods/' 表示所有 pod 子资源。'/scale' 表示所有 scale 子资源。'Suffix' 表示所有资源及其子资源。 如果存在通配符,验证规则将确保资源不会相互重叠。 根据封闭对象,可能无法允许子资源。必需。 |
|
| scope 指定此规则的范围。有效值为 "Cluster", "Namespaced", 和 "" "Cluster" 表示只有集群范围的资源与此规则匹配。命名空间 API 对象是集群范围的。"namespaced" 表示只有命名空间的资源将与此规则匹配。"" 表示没有范围限制。子资源与其父资源的范围匹配。默认为 "*"。 |
5.2. API 端点
可用的 API 端点如下:
/apis/admissionregistration.k8s.io/v1/validatingwebhookconfigurations
-
DELETE
: 删除 ValidatingWebhookConfiguration 集合 -
GET
: list 或 watch kind ValidatingWebhookConfiguration -
POST
:创建 ValidatingWebhookConfiguration
-
/apis/admissionregistration.k8s.io/v1/watch/validatingwebhookconfigurations
-
GET
: 观察单个对 ValidatingWebhookConfiguration 列表的更改。已弃用:改为使用 'watch' 参数和列表操作。
-
/apis/admissionregistration.k8s.io/v1/validatingwebhookconfigurations/{name}
-
DELETE
: 删除 ValidatingWebhookConfiguration -
GET
: 读取指定的 ValidatingWebhookConfiguration -
PATCH
: 部分更新指定的 ValidatingWebhookConfiguration -
PUT
:替换指定的 ValidatingWebhookConfiguration
-
/apis/admissionregistration.k8s.io/v1/watch/validatingwebhookconfigurations/{name}
-
GET
: 观察对类型为 ValidatingWebhookConfiguration 的对象的更改。已弃用:使用带有 list 操作的 'watch' 参数,而是过滤为带有 'fieldSelector' 参数的单个项目。
-
5.2.1. /apis/admissionregistration.k8s.io/v1/validatingwebhookconfigurations
- HTTP 方法
-
DELETE
- 描述
- 删除 ValidatingWebhookConfiguration 集合
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 ValidatingWebhookConfiguration 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 ValidatingWebhookConfiguration
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
202 - Accepted | |
401 - Unauthorized | 空 |
5.2.2. /apis/admissionregistration.k8s.io/v1/watch/validatingwebhookconfigurations
- HTTP 方法
-
GET
- 描述
- 观察单个对 ValidatingWebhookConfiguration 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
5.2.3. /apis/admissionregistration.k8s.io/v1/validatingwebhookconfigurations/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| ValidatingWebhookConfiguration 的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除 ValidatingWebhookConfiguration
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 阅读指定的 ValidatingWebhookConfiguration
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 ValidatingWebhookConfiguration
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 ValidatingWebhookConfiguration
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
5.2.4. /apis/admissionregistration.k8s.io/v1/watch/validatingwebhookconfigurations/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| ValidatingWebhookConfiguration 的名称 |
- HTTP 方法
-
GET
- 描述
- 观察对类型为 ValidatingWebhookConfiguration 的对象的更改。已弃用:使用带有 list 操作的 'watch' 参数,而是过滤到带有 'fieldSelector' 参数的单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
Legal Notice
Copyright © 2024 Red Hat, Inc.
OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
Modified versions must remove all Red Hat trademarks.
Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.
Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.