k8s 自定义api注册,controller
自定义api通过aggregator注册进入k8s api系统,内部通过一个proxy转到对应的自定义api进程(放在pod中), 自定义API通过main函数,调用生成的zz_generated.api.register.go中的注册函数,此函数有一个全局变量ApiVersion,apiversion中将我们定义的type(包括其deepcopy函数),还有版本转换函数conversion(..
自定义api通过aggregator注册进入k8s api系统,内部通过一个proxy转到对应的自定义api进程(放在pod中),
自定义API通过main函数,调用生成的zz_generated.api.register.go中的注册函数,此函数有一个全局变量ApiVersion,apiversion中将我们定义的type(包括其deepcopy函数),还有版本转换函数conversion(zz_generated.conversion.go),默认值处理函数(zz_generated.defaults.go)注册进apiversion中,有些情况下也会注册deepcopy函数。(客户端的scheme也会调用并注册这些个转换函数)
client中适用于服务client-go或者controller,client部分只有getter,即获取资源的interface。client中scheme会添加conversion和default函数,用于进行client的创建。客户端的crud会用scheme.ParameterCodec进行编码。
informer则用资源的数据结构注册informer,只有资源informer,有informer和lister接口。
lister拥有获取资源的接口。
更多推荐
所有评论(0)