可用插件
本节介绍 Kubebuilder 项目所支持并内置的插件。
脚手架生成整套项目
以下插件可用于借助工具一次性脚手架生成整个项目:
| 插件 | Key | 说明 |
|---|---|---|
| go.kubebuilder.io/v4(Kubebuilder init 的默认脚手架) | go/v4 | 由 base.go.kubebuilder.io/v4 与 kustomize.common.kubebuilder.io/v2 组合而成,负责 Golang 项目及其配置的脚手架生成。 |
增加可选特性
以下插件可用于生成代码并利用可选特性:
| 插件 | Key | 说明 |
|---|---|---|
| autoupdate.kubebuilder.io/v1-alpha | autoupdate/v1-alpha | 可选辅助插件,脚手架生成一个定时任务,帮助你的项目自动跟进生态变更,显著降低人工维护成本。 |
| deploy-image.go.kubebuilder.io/v1-alpha | deploy-image/v1-alpha | 可选辅助插件,可脚手架 API 与 Controller,并内置代码实现以部署并管理一个镜像(Operand)。 |
| grafana.kubebuilder.io/v1-alpha | grafana/v1-alpha | 可选辅助插件,可为 controller-runtime 导出的默认指标脚手架生成 Grafana Dashboard 清单。 |
| helm.kubebuilder.io/v1-alpha | helm/v1-alpha | 可选辅助插件,可在 dist 目录下脚手架生成 Helm Chart 用于项目分发。 |
供扩展使用
以下插件适用于其他工具及外部插件,用于扩展 Kubebuilder 的功能。
你可以使用 kustomize 插件来脚手架生成 config/ 下的 kustomize 文件;基础语言插件负责生成 Golang 相关文件。
这样你就能为其它语言创建自己的插件(例如 Operator-SDK 让用户可以使用 Ansible/Helm),或是在其上叠加更多能力。
例如 Operator-SDK 提供了与 OLM 集成的插件,为项目添加了其自有的能力。
| 插件 | Key | 说明 |
|---|---|---|
| kustomize.common.kubebuilder.io/v2 | kustomize/v2 | 负责脚手架生成 config/ 目录下的全部 kustomize 文件 |
base.go.kubebuilder.io/v4 | base/v4 | 负责脚手架生成所有 Golang 相关文件。该插件与其它插件组合后形成 go/v4 |
