让我们迁移 CronJob 示例.
要将您的项目布局更改为支持多组,请运行命令 kubebuilder edit --multigroup=true
。一旦您切换到多组布局,新的 Kinds 将根据新布局生成,但需要额外的手动工作将旧 API 组迁移到新布局。
一般来说,我们将 API 组的前缀用作目录名称。我们可以检查 api/v1/groupversion_info.go
来了解这一点:
// +组名=batch.tutorial.kubebuilder.io
package v1
然后,我们将把现有的 API 移动到一个新的子目录中,子目录名称将以该组的名称命名。考虑到CronJob 示例,子目录名称为“batch“:
mkdir api/batch
mv api/* api/batch
在将 API 移动到新目录后,控制器也需要进行相应的调整。对于 go/v4:
mkdir internal/controller/batch
mv internal/controller/* internal/controller/batch/
同样的原则也适用于任何现有的 webhooks:
mkdir internal/webhook/batch
mv internal/webhook/* internal/webhook/batch/
为新创建的群组所创建的任何新webhook,其相应的功能将被创建在子目录internal/webhook/<group>/
下。