KubeBuilder 基本入门指南让你不在迷失偏向
2021-04-25T21:55:55.680+0800 INFO controller-runtime.manager.controller.application Starting workers {"reconciler group": "apps.lailin.xyz", "reconciler kind": "Application", "worker count": 1} 然后我们陈设一个测试的 crd kubectl apply -f config/samples/apps_v1_application.yaml apiVersion: apps.lailin.xyz/v1 kind: Application metadata: name: application-sample spec: # Add fields here product: test 然后可以看到之前写的日记逻辑已经触发 2021-04-25T21:57:12.618+0800 INFO controllers.Application app changed {"ns": "default"} Kubebuilder 注释在天生的代码傍边我们可以看到许多 //+kubebuilder:xxx 开头的注释,对 Go 较量认识的同窗应该知道这些注释是给对应的代码天生器处事的,在 Go 中有一个较量常用的套路就是操作 go gennerate天生对应的 go 代码。 kubebuilder 行使 controller-gen 天生代码和对应的 yaml 文件,这个中首要包括 CRD 天生、验证、处理赏罚尚有 WebHook 的 RBAC 的生乐成能,下面我简朴先容一下,完备版可以看 kubebuilder 的官方文档 CRD 天生 //+kubebuilder:subresource:status 开启 status 子资源,添加这个注释之后就可以对 status举办更新操纵了 //+groupName=nodes.lailin.xyz 指定 groupname //+kubebuilder:printcolumn 为 kubectl get xxx 添加一列,这个挺有效的 ...... CRD 验证,操作这个成果,我们只必要添加一些注释,就给可以完成大部门必要校验的成果 //+kubebuilder:default:= 给字段配置默认值 //+kubebuilder:validation:Pattern:=string 行使正则验证字段 ...... Webhook //+kubebuilder:webhook 用于指定 webhook 怎样天生,譬喻我们可以指定只监听 Update 变乱的 webhook RBAC 用于天生 rbac 的权限 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |