kubernetes kubebuilder实现crd(二)

本篇主要介绍如何在crd中添加字段信息

1、看下config/samples下面的yaml文件:

kubectl get guestbooks.webapp.my.domain -o yaml

spec:

  # Add fields here

  foo: bar

这里参数里只有foo:bar

 

2、我们来加个虚拟CPU,内存信息:

直接api/v1/guestbook_types.go即可
 

type GuestbookSpec struct {

        // INSERT ADDITIONAL SPEC FIELDS - desired state of cluster

        // Important: Run "make" to regenerate code after modifying this file

        CPU    string `json:"cpu"`  //这是新增的

        Memory string `json:"memory"`//这是新增的

}

 

3、然后make一下:

3.1、编译,真正执行的命令是go build -o bin/manager main.go

make

 

安装CRD,真正执行的命令是kubectl apply -f config/crd/bases

make install

 

启动controller:

make run,真正执行的命令是go run ./main.go

kubernetes kubebuilder实现crd(二)_第1张图片

注意:

make实际执行的Makefile中的manager方法,可以先把下载包的给注释掉

kubernetes kubebuilder实现crd(二)_第2张图片

4、再去渲染一下controller的yaml就会发现CRD中已经带上CPU和内存信息了:

kustomize build config/default

kubernetes kubebuilder实现crd(二)_第3张图片

kubernetes kubebuilder实现crd(二)_第4张图片

5、修改yaml文件:

/home/sankuai/m/config/samples/webapp_v1_guestbook.yaml

kubernetes kubebuilder实现crd(二)_第5张图片

6、让修改生效

验证成功

kubernetes kubebuilder实现crd(二)_第6张图片

你可能感兴趣的:(kubernetes)