在 Operator SDK 最新的版本 v0.19 中,operator SDK 在生成 golang operator 的时候直接调用了 kubebuilder 的 cli 代码,实际上就是用 kubebuilder 来生成,operator SDK 名存实亡
kubebuilder 是 k8s 社区官方提供的用来快速构建 controller 项目的工具,它主要用来
kubebuilder 生成的代码中使用了
controller-runtime
的库来简化生成的代码controller-gen
来生成 crd deepcopy 的代码,以及 crd,rbac 等 yaml 配置kubebuilder 通过本地的 PROJECT
文件来管理项目的上下文
domain: zoumo.io
multigroup: true
repo: github.com/zoumo/orchestration
version: "2"
<group>.<domain>
controller runtime 相较原生的 kube controller manager 有以下优势