插件
Kubebuilder 的架构本质上是基于插件的。这种设计使得 Kubebuilder CLI 能够不断发展,同时与旧版本保持向后兼容,允许用户选择是否使用特定功能,并实现与外部工具的无缝集成。
通过利用插件,项目可以扩展 Kubebuilder,并将其作为库来支持新功能或实现针对用户需求的自定义脚手架。这种灵活性使维护者能够在 Kubebuilder 的基础上进行构建,适应特定的用例,同时受益于其强大的脚手架引擎。
插件提供了几个关键优势:
- 向后兼容性:确保旧的布局和项目结构在新版本中仍然可用。
- 定制化:允许用户选择启用或禁用特定功能(即 Grafana 和 Deploy Image 插件)
- 可扩展性:促进与希望提供自己 外部插件 的第三方工具和项目的集成,这些插件可以与 Kubebuilder 一起使用,以修改和增强项目的脚手架或引入新功能。
例如,要初始化一个包含多个全局插件的项目:
kubebuilder init --plugins=pluginA,pluginB,pluginC
例如,要使用特定插件应用自定义脚手架:
kubebuilder create api --plugins=pluginA,pluginB,pluginC
OR
kubebuilder create webhook --plugins=pluginA,pluginB,pluginC
OR
kubebuilder edit --plugins=pluginA,pluginB,pluginC
本节详细介绍可用的插件、如何扩展 Kubebuilder,以及如何在遵循相同布局结构的情况下创建自己的插件。