环境: 已有的k8s集群,集群下有一个node
1、安装kubebuilder: github.com/kubernetes-…, 下载下来直接就是kubebuild的二进制文件,没有kustomize二进制文件
2、创建目录文件: mkdir bookinfo
3、在上面创建的目录中执行 kubebuilder init --domain bookinfo
4、kubebuilder create api --group bookinfo --version v1 --kind Book //kind需要使用大写标识
5、对controller的Reconcile打印下效果,便于后面的展示
6、make install // 创建CRD资源
可以看出 make install 会在当前项目的bin目录下,下载一个kustomize的二进制文件,并且使用
kustomize build config/crd生成对应的CRD的yaml文件,因为本地没有安装kubelet, 因此在本地生成对应的CRD yaml文件,copy 到对应的主机执行
对应的CRD资源已经创建成功
7、make build // 生成对应的manager的二进制,可以直接copy 到集群的node上进行执行 // 因为是在主机上直接执行二进制的方式,需要指定对应的kubeconfig文件路径,metrics-bind-address 默认端口为8080, 因为主机端口占用的问题,重新指定了新的端口
8、验证:
a、创建对应的资源 // config/samples/XXX.yaml
b、查看manager启动的日志,可以看出
好了,这就是kubebuilder 初识的DEMO了,后面会介绍详情的使用