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=Memcached
Copy 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] y
Copy 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 generate
Copy 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 类型都必须实现。