跳至内容

API 机械

kOps 使用 Kubernetes API 机械。它设计良好,功能强大,但您需要进行一些操作才能使用它。

推荐阅读:kubernetes API 约定文档kubernetes API 更改文档.

kOps API 位于 pkg/apis/kops 中,包括该目录(未版本化的 API)以及版本化子目录 (v1alpha2v1alpha3) 中。

更新生成的 API 代码

要生成 API 代码,只需运行 make apimachinery && make crds && make 来更新生成的 API 机械代码(转换函数)。请注意,make apimachinerymake crds(目前)仅更新自动生成的代码,不会触发重建,因此需要 && make

添加字段

您最常执行的任务是添加新字段。这相对简单,因为它是向后兼容的(您必须确保该字段是可选的)。

  • 将字段添加到 pkg/apis/kops,然后也添加到每个版本化副本中:pkg/apis/kops/v1alpha2、pkg/apis/kops/v1alpha3 等等
  • 如上运行 apimachinery 更新(make apimachinery && make crds && make
  • 您可能需要更新验证逻辑
  • 您可能需要更新默认逻辑

目前,我们签入的 apimachinery 代码相对稳定。但是,当生成的代码很大时,通常认为将 PR 分成多个提交是一种礼貌:一个提交包含实际更改,另一个提交包含自动生成的代码。