可用插件

本节描述了在 Kubebuilder 项目中支持和随附的插件。

为了搭建项目框架

以下插件对于使用该工具构建整个项目非常有用。

插件钥匙描述
go.kubebuilder.io/v4 - (使用 Kubebuilder init 的默认脚手架)go/v4使用 base.go.kubebuilder.io/v4kustomize.common.kubebuilder.io/v2 生成复合模板。负责生成 Golang 项目及其配置。

添加可选功能

以下插件对于生成代码和利用可选功能非常有用。

插件钥匙描述
grafana.kubebuilder.io/v1-alphagrafana/v1-alpha可选的辅助插件,可用于为 controller-runtime 导出的默认指标搭建 Grafana Manifests 仪表板。
deploy-image.go.kubebuilder.io/v1-alpha部署镜像/v1-alpha可选的辅助插件,可用于搭建API和控制器,提供代码实现以部署和管理 Operator(镜像)。
helm.kubebuilder.io/v1-alphahelm/v1-alpha可选辅助插件,可用于在 dist 目录下搭建 Helm Chart 来分发项目。

待扩展

以下插件对于希望扩展 Kubebuilder 功能的其他工具和 外部插件 非常有用。

您可以使用kustomize插件,该插件负责在config/下搭建kustomize文件。基础语言插件负责搭建所需的Golang文件,使您能够为其他语言创建自己的插件(例如,Operator-SDK使用户能够使用Ansible/Helm)或添加其他功能。

例如,Operator-SDK有一个插件,通过在其上添加自己的功能,将项目与OLM集成。

插件钥匙描述
kustomize.common.kubebuilder.io/v2kustomize/v2负责搭建 config/ 目录下的所有 kustomize 文件。
base.go.kubebuilder.io/v4base/v4负责搭建所有特别需要 Golang 的文件。此插件在组合中用于创建插件(go/v4)。