学习 kubebuilder v3 的 sample 项目

[1] 创建文件夹

mkdir k8s-crd-extensions
cd k8s-crd-extensions

[2] 创建脚手架 (只需要一次)

墙内网络, 需要先引入 proxy 才能下载到包

export GO111MODULE=on
export GOPROXY=https://goproxy.cn

创建脚手架, 保证目录是空的. 一个目录只需要执行一次脚手架

  
  kubebuilder init --domain tutorial.kubebuilder.io --repo tutorial.kubebuilder.io/project

创建完毕后, 只有 main.go 有一些内容, 没有其他的 go 代码

[3] 创建一个 api 和 controller

创建完毕后, 会生产 /api/v1 目录, cronjob_types.go 以及 controllers 目录 和 cronjob_controller.go 两个目录

kubebuilder create api --group batch --version v1 --kind CronJob

press y for resource and controller

CronJobType, CronJobList, CronJobSpec 和 CronJobStatus 都已经声明好了, 用户 只需要往里面填写数据即可.