如何使用Kubernetes controller gen在外部结构中指定可选字段?
我正在实现一个Kubernetes控制器,并使用如下结构创建一个API:如何使用Kubernetes controller gen在外部结构中指定可选字段?,kubernetes,kubebuilder,Kubernetes,Kubebuilder,我正在实现一个Kubernetes控制器,并使用如下结构创建一个API: import ( corev1 "k8s.io/api/core/v1" ) type MySpec struct { corev1.PodSpec `json:",inline"` } 但是,由于PodSpec中的Containers字段是必需的,因此在使用Containers字段生成相应的CRD时,会将其标记为必需的-但是我希望它在我的CRD中是可选的 在不复制整个结构或修补控制器gen的输出的情况
import (
corev1 "k8s.io/api/core/v1"
)
type MySpec struct {
corev1.PodSpec `json:",inline"`
}
但是,由于PodSpec
中的Containers
字段是必需的,因此在使用Containers
字段生成相应的CRD时,会将其标记为必需的-但是我希望它在我的CRD中是可选的
在不复制整个结构或修补控制器gen的输出的情况下,是否有任何方法可以覆盖此功能
作为参考,整个项目都是。如果您的结构应该不同,您必须声明字段。只是好奇您是否成功实现了目标?@Nick不幸没有,刚刚以我所能想到的最可转移的方式修补了controller gen的输出,我想在Docker容器中运行它,但考虑到了itI,我也希望覆盖一些可选字段或设置默认值。你找到解决办法了吗?谢谢。不,我没有遗憾的是,如果你的结构应该不同,你必须声明字段。只是好奇你是否成功实现了你的目标?@Nick不幸没有,刚刚以我所能想到的最可转移的方式修补了controller gen的输出,我想在Docker容器中运行它,但考虑到了itI,我也希望覆盖一些可选字段或设置默认值。你找到解决办法了吗?谢谢。不,我没有