SchemeBuilder 是关键对象。
type SchemeBuilder []func(*Scheme) error
SchemeBuilder 本质是一个function的slice
SchemeBuilder的使用
在 *_types.go的init方法里,一般有类似:
SchemeBuilder.Register(&PodPool{}, &PodPoolList{})
这个本质上做的是生成一个function,放到SchemeBuilder中
SchemeBuilder的AddToScheme
调用SchemeBuilder中的所有function,加入到Scheme中
apis.go
定义了全局的AddToSchemes ,这个slice
**
在main.go中会调用apis.AddToScheme,是用全局的AddToSchemes这个slice的内容,生成operator manager中scheme
addtoscheme_**_v1.go
将SchemeBuilder的AddToScheme 将入到全局的 AddToSchemes这个slice中