如何修改Kubernetes operator-sdk生成项目的目录结构并完成配置适配
operator-sdk 重命名config目录为cmd的操作步骤
operator-sdk 底层基于 kubebuilder 实现,默认目录结构遵循 kubebuilder 官方规范,如果需要将默认生成的config目录重命名为cmd,按照以下步骤操作即可:
- 第一步:先将项目根目录下的
config文件夹直接重命名为cmd - 第二步:修改项目根目录下的
Makefile文件,替换所有引用config/前缀的路径为cmd/,常见需要修改的命令包括:$(KUSTOMIZE) build config/default修改为$(KUSTOMIZE) build cmd/defaultkubectl apply -f config/crd/bases修改为kubectl apply -f cmd/crd/bases- 所有涉及
config/路径的命令都要逐一替换
- 第三步:修改项目根目录下的
PROJECT配置文件,该文件是 operator-sdk/kubebuilder 的核心项目配置,找到所有和目录路径相关的配置项,将其中的config/前缀替换为cmd/,比如默认的CRD生成路径config/crd改为cmd/crd,如果有webhook相关配置也要对应修改路径 - 第四步:修改业务代码中的硬编码路径,如果你的控制器逻辑里有直接写死加载
config/目录下文件的代码,也要同步替换为cmd/路径 - 第五步:验证修改是否生效,依次执行
make manifests、make run、make deploy命令,确认资源生成、本地运行、集群部署流程都能正常执行即可
注意:非必要不建议修改默认目录结构,operator-sdk 官方生态的所有工具链都适配默认目录规范,修改后后续版本升级可能会出现兼容性问题。
内容的提问来源于stack exchange,提问作者rushidesai1
相关产品推荐
相关产品推荐

