代码生成器 | 作用 |
---|---|
deepcopy-gen | 生成func (t * T) DeepCopy() * t和func (t * T) DeepCopyInto(* T)方法。 |
client-gen | 创建类型化客户端集。 |
informer-gen | 为自定义资源创建通知器,该通知器提供基于事件的接口,以响应服务器上自定义资源的更改。 |
lister-gen | 为为GET和LIST请求提供只读缓存层的自定义资源创建列表。 |
conversion-gen | 创建用于在内部和外部类型之间进行转换的函数。 |
defaulter-gen | 处理默认的某些字段。 |
tag
Global:全局标记位于文件doc.go中的package行上方
Local:类型声明上方的局部标记(例如,在结构定义上方)
Global Tags
1 |
|
上面是一个典型的global tag,他的意思是默认为这个package中的每个类型创建deepcopy方法,如果有的类型不需要此方法,可以使用local tag // +k8s:deepcopy-gen=false
这样就不会为该类型生成deepcopy。而如果没有使用package范围的deepcopy,那就必须使用// +k8s:deepcopy-gen=true
为该类型创建deepcopy
第二个标记// +groupName=example.com定义了完全限定的API组名。如果Go父包名与组名不匹配,这个标签是必需的。
Local Tags
局部标记要么直接写在API类型的上方,要么写在其上方的第二个注释块中。