插件
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,以及如何在遵循相同布局结构的前提下创建你自己的插件。
