网上设计接单的网站,贵州省建设厅网站首页,pc和移动版网站,网站开发技术框架kubebuilder 标签是用于注解 Kubernetes CRD#xff08;Custom Resource Definition#xff09; 的标签#xff0c;主要用于在 Operator SDK 和 Kubebuilder 框架中生成代码、验证规则以及自定义 CRD 的生成。以下是常用的 kubebuilder 标签#xff1a;
1. 字段验证标签
…kubebuilder 标签是用于注解 Kubernetes CRDCustom Resource Definition 的标签主要用于在 Operator SDK 和 Kubebuilder 框架中生成代码、验证规则以及自定义 CRD 的生成。以下是常用的 kubebuilder 标签
1. 字段验证标签
这些标签用于在 CRD 中生成字段的验证规则。
kubebuilder:validation:Required 标记字段为必填项。kubebuilder:validation:Optional 标记字段为可选项默认行为。kubebuilder:validation:Maximumvalue 指定数值字段的最大值。kubebuilder:validation:Minimumvalue 指定数值字段的最小值。kubebuilder:validation:MaxLengthvalue 指定字符串字段的最大长度。kubebuilder:validation:MinLengthvalue 指定字符串字段的最小长度。kubebuilder:validation:Enumvalue1,value2,... 指定枚举类型的可选值。kubebuilder:validation:Patternregex 指定字符串字段必须符合的正则表达式模式。kubebuilder:validation:Formatformat 指定字段的格式例如email, date-time, hostname 等。kubebuilder:validation:ExclusiveMinimumbool 指定最小值是否为排他性。kubebuilder:validation:ExclusiveMaximumbool 指定最大值是否为排他性。kubebuilder:validation:MultipleOfvalue 指定数值字段必须是该值的倍数。
2. 默认值标签
kubebuilder:defaultvalue 指定字段的默认值。
3. 列表和映射类型标签
kubebuilder:validation:UniqueItemstrue 用于列表字段指定列表中的项必须唯一。kubebuilder:validation:MinItemsvalue 用于列表字段指定列表的最小项数。kubebuilder:validation:MaxItemsvalue 用于列表字段指定列表的最大项数。kubebuilder:validation:XMapTypeatomic/granular 用于映射类型指定映射的处理方式atomic 或 granular。
4. 嵌套对象标签 kubebuilder:pruning:PreserveUnknownFields 在更新 CR 时保持未知字段不被删除。 kubebuilder:validation:EmbeddedResource 指定嵌套对象的字段应被视为嵌套的Kubernetes资源对象。
5. CRD 元数据标签 kubebuilder:resource:pathname,scopeScope,shortNameshortName 自定义资源的元数据例如 CRD 路径、范围Namespaced 或 Cluster和短名称。 kubebuilder:subresource:status 启用状态子资源.status 字段。 kubebuilder:subresource:scale 启用Scale子资源通常用于HorizontalPodAutoscaler (HPA)。
6. 其他控制标签 kubebuilder:printcolumn:namename,typetype,descriptiondesc,JSONPathpath 自定义 kubectl get 命令输出时显示的列。 kubebuilder:object:roottrue 指定一个结构体作为顶级Kubernetes对象。 kubebuilder:object:generatetrue 在代码生成时强制生成该对象的代码。 kubebuilder:skipversion 跳过为该版本生成 CRD。
7. API 版本和服务标签 kubebuilder:storageversion 指定该版本为存储版本。 kubebuilder:webhook:pathpath,mutatingtrue/false,sideEffectssideEffects,admissionReviewVersionsv1,v1beta1 用于生成 Webhook 配置。
8. 管理注解和自定义生成行为标签 kubebuilder:generatetrue/false 控制是否生成某些特定的CRD或资源。 kubebuilder:marker:validation:XPreserveUnknownFields 用于保留未定义字段。
这些标签可以帮助你为CRD字段添加详细的验证规则、描述和元数据从而更好地控制CRD的行为和展示效果。