This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.5.3.2.3. 创建 API 和控制器
使用 Operator SDK CLI 创建自定义资源定义(CRD)API 和控制器。
流程
运行以下命令创建带有组
cache、版本v1和种类Memcached的 API:operator-sdk create api \ --group=cache \ --version=v1 \ --kind=Memcached$ operator-sdk create api \ --group=cache \ --version=v1 \ --kind=MemcachedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 提示时,输入
y来创建资源和控制器:Create Resource [y/n] y Create Controller [y/n] y
Create Resource [y/n] y Create Controller [y/n] yCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Writing scaffold for you to edit... api/v1/memcached_types.go controllers/memcached_controller.go ...
Writing scaffold for you to edit... api/v1/memcached_types.go controllers/memcached_controller.go ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow
此过程会在 api/v1/memcached_types.go 和 controllers/memcached_controller.go 中生成 Memcached 资源 API。
5.3.2.3.1. 定义 API 复制链接链接已复制到粘贴板!
定义 Memcached 自定义资源(CR)的 API。
流程
修改
api/v1/memcached_types.go中的 Go 类型定义,使其具有以下spec和status:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为资源类型更新生成的代码:
make generate
$ make generateCopy to Clipboard Copied! Toggle word wrap Toggle overflow 提示在修改了
*_types.go文件后,您必须运行make generate命令来更新该资源类型生成的代码。以上 Makefile 目标调用
controller-gen程序来更新api/v1/zz_generated.deepcopy.go文件。这样可确保您的 API Go 类型定义实现了runtime.Object接口,所有 Kind 类型都必须实现。