From 1eab8cdb3d5a752a00e71899ce5e165af00da045 Mon Sep 17 00:00:00 2001 From: "xin.li" Date: Thu, 12 Dec 2024 22:26:32 +0800 Subject: [PATCH] [zh-cn]sync custom-resource-definitions.md Signed-off-by: xin.li --- .../custom-resource-definitions.md | 105 ++++++++++++------ 1 file changed, 74 insertions(+), 31 deletions(-) diff --git a/content/zh-cn/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions.md b/content/zh-cn/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions.md index 3c73fec392..6dbf2aeabd 100644 --- a/content/zh-cn/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions.md +++ b/content/zh-cn/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions.md @@ -118,7 +118,7 @@ metadata: # 名字必需与下面的 spec 字段匹配,并且格式为 '<名称的复数形式>.<组名>' name: crontabs.stable.example.com spec: - # 组名称,用于 REST API: /apis/<组>/<版本> + # 组名称,用于 REST API:/apis/<组>/<版本> group: stable.example.com # 列举此 CustomResourceDefinition 所支持的版本 versions: @@ -182,12 +182,11 @@ You can watch the `Established` condition of your CustomResourceDefinition to be true or watch the discovery information of the API server for your resource to show up. --> -此端点 URL 自此可以用来创建和管理定制对象。对象的 `kind` 将是来自你上面创建时 -所用的 spec 中指定的 `CronTab`。 +此端点 URL 自此可以用来创建和管理定制对象。对象的 `kind` +将是来自你上面创建时所用的规约中指定的 `CronTab`。 创建端点的操作可能需要几秒钟。你可以监测你的 CustomResourceDefinition 的 -`Established` 状况变为 true,或者监测 API 服务器的发现信息等待你的资源出现在 -那里。 +`Established` 状况变为 true,或者监测 API 服务器的发现信息等待你的资源出现在那里。 -使用 kubectl 时,资源名称是大小写不敏感的,而且你既可以使用 CRD 中所定义的单数 -形式或复数形式,也可以使用其短名称: +使用 kubectl 时,资源名称是大小写不敏感的,而且你既可以使用 CRD +中所定义的单数形式或复数形式,也可以使用其短名称: ```shell kubectl get ct -o yaml @@ -335,12 +334,12 @@ CustomResourceDefinition, the structural schema was optional. CustomResource 对象在定制字段中保存结构化的数据,这些字段和内置的字段 `apiVersion`、`kind` 和 `metadata` 等一起存储,不过内置的字段都会被 API -服务器隐式完成合法性检查。有了 [OpenAPI v3.0 检查](#validation) -能力之后,你可以设置一个模式(Schema),在创建和更新定制对象时,这一模式会被用来 +服务器隐式完成合法性检查。有了 [OpenAPI v3.0 检查](#validation)能力之后, +你可以设置一个模式(Schema),在创建和更新定制对象时,这一模式会被用来 对对象内容进行合法性检查。参阅下文了解这类模式的细节和局限性。 -在 `apiextensions.k8s.io/v1` 版本中,CustomResourceDefinition 的这一结构化模式 -定义是必需的。 +在 `apiextensions.k8s.io/v1` 版本中,CustomResourceDefinition +的这一结构化模式定义是必需的。 在 CustomResourceDefinition 的 beta 版本中,结构化模式定义是可选的。 -非结构化的例 1: +非结构化的例 1: ```none allOf: @@ -616,8 +615,8 @@ to clients, `kubectl` also checks for unknown fields and rejects those objects w would be sent to the API server. --> 本例中通过 `--validate=false` 命令行选项 关闭了客户端的合法性检查以展示 API 服务器的行为, -因为 [OpenAPI 合法性检查模式也会发布到](#publish-validation-schema-in-openapi) -客户端,`kubectl` 也会检查未知的字段并在对象被发送到 API +因为 [OpenAPI 合法性检查模式也会发布到](#publish-validation-schema-in-openapi)客户端, +`kubectl` 也会检查未知的字段并在对象被发送到 API 服务器之前就拒绝它们。 和 ```none @@ -973,7 +975,7 @@ The `x-kubernetes-validations` extension can be used to validate custom resource 当[验证规则特性](#validation-rules)被启用并且 CustomResourceDefinition 模式是一个[结构化的模式定义](#specifying-a-structural-schema)时, `x-kubernetes-validations` -扩展可以使用[通用表达式语言 (CEL)](https://github.com/google/cel-spec)表达式来验证定制资源。 +扩展可以使用[通用表达式语言(CEL)](https://github.com/google/cel-spec)表达式来验证定制资源。 -例如: +例如: ```none ... @@ -1327,7 +1329,7 @@ For example: -将拒绝创建这个定制资源的请求: +将拒绝创建这个定制资源的请求: ```yaml apiVersion: "stable.example.com/v1" @@ -2732,11 +2734,6 @@ may also be used with field selectors when included in the `spec.versions[*].sel {{< feature-state feature_gate_name="CustomResourceFieldSelectors" >}} -在 Kubernetes {{< skew currentVersion >}} 中, -自定义资源的字段选择器功能默认启用(自 Kubernetes v1.31 起默认开启)。 -如果你想禁用此功能,可以通过关闭 `CustomResourceFieldSelectors` -[特性门控](/zh-cn/docs/reference/command-line-tools-reference/feature-gates/) 实现。 - CustomResourceDefinition 的 `spec.versions[*].selectableFields` 字段可用于声明自定义资源中的哪些其他字段可在字段选择器中使用。 这一功能依赖于 `CustomResourceFieldSelectors` @@ -2987,6 +2979,59 @@ Save the CustomResourceDefinition to `resourcedefinition.yaml`: 将此 CustomResourceDefinition 保存到 `resourcedefinition.yaml` 文件: + ```yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -3239,9 +3284,7 @@ crontabs/my-new-cron-object 3s * Serve [multiple versions](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning/) of a CustomResourceDefinition. - --> * 阅读了解[定制资源](/zh-cn/docs/concepts/extend-kubernetes/api-extension/custom-resources/) * 参阅 [CustomResourceDefinition](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#customresourcedefinition-v1-apiextensions-k8s-io) * 参阅支持 CustomResourceDefinition 的[多个版本](/zh-cn/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning/) -