我创建了一个CRD
这样的:
import v1 "k8s.io/api/core/v1"
type ApplicationSpec struct {
Name string `json:"name"`
PodSpec v1.PodSpec `json:"podSpec"`
...
}
请注意,我PodSpec
在 CRD 中重用了核心 apigroup
为了避免用户应用无效的 yaml 文件,我决定在我的 CRD 控制器中添加验证逻辑,对于像这样的简单字段Name
,使用正则表达式很容易检查它的正确性,而对于像这样的复杂和原生类型PodSpec
,因为 k8s 已经有验证逻辑,我觉得正确的方法是在我的控制器中重用它,但我该怎么做呢?