kubernetes - 参考现有的 kubernetes 类型生成 kubernetes 客户端代码
问题描述
我正在为 kubernetes 编写 CRD,并且无法让代码生成器工作。特别是,对于引用 a 的特定结构,生成 deepcopy 函数失败batch.JobTemplateSpec
。注释掉该行可以解决我的问题。
我已经尝试过各种导入和注册JobTemplateSpec
in register.go
,但这似乎不是解决方案。
特别是,该结构看起来像这样:
type TestSpec struct {
Selector *metav1.LabelSelector `json:"selector,omitempty"`
//Commenting out the JobTemplate fixes my problem
JobTemplate batch.JobTemplateSpec `json:"jobTemplate,omitempty"`
}
我最终得到的是来自 codegen 脚本的这个错误:
Generating client codes...
Generating deepcopy funcs
F0411 18:54:09.409084 251 deepcopy.go:885] Hit an unsupported type invalid type for invalid type, from test/pkg/apis/test/v1.TestSpec
其余代码生成失败。
解决方案
我在尝试复制https://blog.openshift.com/kubernetes-deep-dive-code-generation-customresources/中的步骤时遇到了这个问题,发现我需要更改目录以避免这个问题。
如果我位于 Go 工作区的根目录,例如$GOPATH/src
,我收到了您收到的错误。但是如果我更改到项目目录,例如$GOPATH/src/github.com/openshift-evangelist/crd-code-generation
,问题就消失了。
推荐阅读
- php - 确认 PHP 的 `file_put_contents()` 何时完成
- postgresql - Laravel Eloquent Query builder 访问 postgres 复合列属性
- apache-spark - 为什么 Word2Vec.fit 堆空间不足
- google-app-maker - 创建记录时如何捕获记录的 ID?
- regex - 带有硬编码异常的 jFlex 中的正则表达式
- r - 将不相等的逗号分隔字符串拆分为列并填充缺失值
- azure - 使用自定义策略的 Azure AD B2C 内置属性?
- vb.net - 在文件夹中的每个文件中查找 REGEX
- pandas - groupby 对日期时间数据按月求和
- swift - 刷卡时如何让进度条变大