输出内容
架构概念图

控制器

使用
前提
- 部署 k8s 集群
- 安装 kubelet 客户端程序
- 安装 golang
创建项目
初始化
创建 API
输出内容
查看当前目录状态
上面的是 kubebuilder 生成的项目脚手架,需要修改及关注的主要文件为:
- api/v1alpha1/memcached_types.go: CRD 类型定义位置
- internal/controller/memcached_controller.go: 对账逻辑编写位置

修改代码文件(memcached_types.go)
生成具有规格和验证的清单
生成所有所需的文件:
- 运行
make generate,会在api/v1alpha1/zz_generated.deepcopy.go文件中添加深度拷贝(DeepCopy)内容。
- 运行
make manifests,会在config/crd/bases下生成 CRD 清单,并在config/crd/samples下生成一个示例文件。
问题记录
在 GOPATH 之外目录创建,需要使用 —repo 参数。错误现象如下:
没有设置 GO 代理,导致拉取模块失败
处理方式