kubebuilder执行create webhook报错要求预先创建API如何解决
报错根因
kubebuilder 要求必须先为指定的 Group/Version/Kind 创建好 CRD API 定义,才能为该 API 创建对应的校验、默认值注入 webhook。你当前执行命令时,batch/v1 下 Kind 为 Webhook 的 API 还未创建,因此触发该报错。
解决步骤
- 第一步:先创建对应 GVK 的 API 资源,执行如下命令:
kubebuilder create api --group batch --version v1 --kind Webhook
执行时会提示是否创建 Resource 和 Controller,至少要选择创建 Resource(输入y回车),否则依然没有对应的 API 定义。
- 第二步:API 创建完成后,再执行你原本的 webhook 创建命令即可:
kubebuilder create webhook batch \ --version v1 \ --kind Webhook \ --defaulting \ --programmatic-validation
注意事项
如果你确认已经创建过对应 API 还是报错,需要检查你 API 定义的 group、version、kind 三个参数和 webhook 命令里传入的参数是否完全一致,大小写、拼写都不能出错,kubebuilder 对这三个参数的匹配是严格大小写敏感的。
内容的提问来源于stack exchange,提问作者alok verma
相关产品推荐
相关产品推荐

