API 机械 ¶
kOps 使用 Kubernetes API 机械。它设计良好,功能强大,但您需要进行一些操作才能使用它。
推荐阅读:kubernetes API 约定文档 和 kubernetes API 更改文档.
kOps API 位于 pkg/apis/kops 中,包括该目录(未版本化的 API)以及版本化子目录 (v1alpha2
、v1alpha3
) 中。
更新生成的 API 代码 ¶
要生成 API 代码,只需运行 make apimachinery && make crds && make
来更新生成的 API 机械代码(转换函数)。请注意,make apimachinery
和 make crds
(目前)仅更新自动生成的代码,不会触发重建,因此需要 && make
。
添加字段 ¶
您最常执行的任务是添加新字段。这相对简单,因为它是向后兼容的(您必须确保该字段是可选的)。
- 将字段添加到 pkg/apis/kops,然后也添加到每个版本化副本中:pkg/apis/kops/v1alpha2、pkg/apis/kops/v1alpha3 等等
- 如上运行 apimachinery 更新(
make apimachinery && make crds && make
) - 您可能需要更新验证逻辑
- 您可能需要更新默认逻辑
目前,我们签入的 apimachinery 代码相对稳定。但是,当生成的代码很大时,通常认为将 PR 分成多个提交是一种礼貌:一个提交包含实际更改,另一个提交包含自动生成的代码。