kubebuilder 标签是用于注解 Kubernetes CRD(Custom Resource Definition) 的标签,主要用于在 Operator SDK 和 Kubebuilder 框架中生成代码、验证规则以及自定义 CRD 的生成。以下是常用的 kubebuilder 标签:
这些标签用于在 CRD 中生成字段的验证规则。
+kubebuilder:validation:Required+kubebuilder:validation:Optional+kubebuilder:validation:Maximum=+kubebuilder:validation:Minimum=+kubebuilder:validation:MaxLength=+kubebuilder:validation:MinLength=+kubebuilder:validation:Enum=,,... +kubebuilder:validation:Pattern=+kubebuilder:validation:Format=email, date-time, hostname 等)。+kubebuilder:validation:ExclusiveMinimum=+kubebuilder:validation:ExclusiveMaximum=+kubebuilder:validation:MultipleOf=+kubebuilder:default=+kubebuilder:validation:UniqueItems=true+kubebuilder:validation:MinItems=+kubebuilder:validation:MaxItems=+kubebuilder:validation:XMapType=atomic/granularatomic 或 granular)。+kubebuilder:pruning:PreserveUnknownFields
+kubebuilder:validation:EmbeddedResource
+kubebuilder:resource:path=
Namespaced 或 Cluster)和短名称。+kubebuilder:subresource:status
.status 字段)。+kubebuilder:subresource:scale
+kubebuilder:printcolumn:name=
kubectl get 命令输出时显示的列。+kubebuilder:object:root=true
+kubebuilder:object:generate=true
+kubebuilder:skipversion
+kubebuilder:storageversion
+kubebuilder:webhook:path=
+kubebuilder:generate=true/false
+kubebuilder:marker:validation:XPreserveUnknownFields
这些标签可以帮助你为CRD字段添加详细的验证规则、描述和元数据,从而更好地控制CRD的行为和展示效果。