kubebuilder实战之二:初次体验kubebuilder

  1. 执行以下命令,创建helloworld项目:

mkdir -p $GOPATH/src/helloworld

cd $GOPATH/src/helloworld

kubebuilder init --domain com.bolingcavalry

  1. 控制台输出类似以下内容:

[root@kubebuilder helloworld]# kubebuilder init --domain com.bolingcavalry

Writing scaffold for you to edit…

Get controller runtime:

$ go get sigs.k8s.io/controller-runtime@v0.5.0

Update go.mod:

$ go mod tidy

Running make:

$ make

/root/gopath/bin/controller-gen object:headerFile=“hack/boilerplate.go.txt” paths=“./…”

go fmt ./…

go vet ./…

go build -o bin/manager main.go

Next: define a resource with:

$ kubebuilder create api

  1. 等待数分钟后创建完成,在$GOPATH/src/helloworld目录下新增以下内容,可见这是个标准的go module工程:

[root@kubebuilder ~]# tree $GOPATH/src/helloworld

/root/gopath/src/helloworld

├── bin

│ └── manager

├── config

│ ├── certmanager

│ │ ├── certificate.yaml

│ │ ├── kustomization.yaml

│ │ └── kustomizeconfig.yaml

│ ├── default

│ │ ├── kustomization.yaml

│ │ ├── manager_auth_proxy_patch.yaml

│ │ ├── manager_webhook_patch.yaml

│ │ └── webhookcainjection_patch.yaml

│ ├── manager

│ │ ├── kustomization.yaml

│ │ └── manager.yaml

│ ├── prometheus

│ │ ├── kustomization.yaml

│ │ └── monitor.yaml

│ ├── rbac

│ │ ├── auth_proxy_client_clusterrole.yaml

│ │ ├── auth_proxy_role_binding.yaml

│ │ ├── auth_proxy_role.yaml

│ │ ├── auth_proxy_service.yaml

│ │ ├── kustomization.yaml

│ │ ├── leader_election_role_binding.yaml

│ │ ├── leader_election_role.yaml

│ │ └── role_binding.yaml

│ └── webhook

│ ├── kustomization.yaml

│ ├── kustomizeconfig.yaml

│ └── service.yaml

├── Dockerfile

├── go.mod

├── go.sum

├── hack

│ └── boilerplate.go.txt

├── main.go

├── Makefile

└── PROJECT

9 directories, 30 files

创建API(CRD和Controller)

  1. 接下来要要创建资源相关的内容了,group/version/kind这三部分可以确定资源的唯一身份,命令如下:

cd $GOPATH/src/helloworld

kubebuilder create api \

–group webapp \

–version v1 \

–kind Guestbook

  1. 控制台会提醒是否创建资源(Create Resource [y/n]),输入y

  2. 接下来控制台会提醒是否创建控制器(Create Controller [y/n]),输入y

  3. kubebuilder会根据上述命令新增多个文件,如下图红框所示:

在这里插入图片描述

构建和部署CRD

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值