KubeBuilder 基本入门指南让你不在迷失偏向
副问题[/!--empirenews.page--]
KubeBuilder 简明教程
安装 会见官方客栈下载已经编译好的二进制文件: Releases · kubernetes-sigs/kubebuilder (github.com) 本文编写的时辰 kubebuilder 已经推出了 v3.0.0-rc.0 版本,所觉得了停止刚写完新版就已经 release 了的忧伤环境,本文直接行使的是 3.0 版本 下载好了之跋文得将对应文件插手 PATH 傍边 安装乐成之后行使 kubebuilder version 可以查察安装的版本信息 ❯ kubebuilder version Version: main.version{KubeBuilderVersion:"3.0.0-rc.0", KubernetesVendor:"1.19.2", GitCommit:"90fe4124c4c6965c6bfac63339888956952cda90", BuildDate:"2021-04-08T17:36:28Z", GoOs:"linux", GoArch:"amd64"} 项目初始化先建设一个空文件夹,然后在文件夹内执行下方呼吁 kubebuilder init --domain lailin.xyz --repo github.com/mohuishou/blog-code/k8s-operator/02-kubebuilder –-domain lailin.xyz 我们的项目标域名 --repo xxx 是客栈地点,同时也是 go mode中的repo地点 假如你 golang 版本过低可能过高都有也许呈现下方的错误信息,我这里是由于行使的 1.16 版本太高了 2021/04/25 20:47:14 failed to initialize project: unable to run pre-scaffold tasks of "base.go.kubebuilder.io/v3": go version 'go1.16' is incompatible because 'requires 1.13 <= version < 1.16'. You can skip this check using the --skip-go-version-check flag 这种环境下可以添加 --skip-go-version-check 忽略这个错误,可是照旧提议行使官方保举的版本 kubebuilder init --domain lailin.xyz --repo github.com/mohuishou/blog-code/k8s-operator/02-kubebuilder --skip-go-version-check 项目目次. ├── Dockerfile ├── Makefile # 这里界说了许多剧本呼吁,譬喻运行测试,开始执行等 ├── PROJECT # 这里是 kubebuilder 的一些元数据信息 ├── config │ ├── default # 一些默认设置 │ ├── manager # 陈设 crd 所需的 yaml │ ├── prometheus # 监控指标数据收罗设置 │ └── rbac # 陈设所需的 rbac 授权 yaml ├── go.mod ├── go.sum ├── hack │ └── boilerplate.go.txt └── main.go 建设 apikubebuilder create api --group apps --version v1 --kind Application 执行之后我们可以发明项目布局产生了一些变革 . ├── api │ └── v1 │ ├── application_types.go # 这里是界说 spec 的处所 │ ├── groupversion_info.go # GV 的界说,一样平常无需修改 │ └── zz_generated.deepcopy.go ├── config │ ├── crd # 自动天生的 crd 文件,不消修改这里,只必要修改了 v1 中的 go 文件之后执行 make generate 即可 │ ├── default │ ├── manager │ ├── prometheus │ ├── rbac │ └── samples # 这里是 crd 示例文件,可以用来陈设到集群傍边 ├── controllers │ ├── application_controller.go # 在这里实现 controller 的逻辑 │ └── suite_test.go # 这里写测试 实现 Controller界说 CR // api/v1/application_types.go
// ApplicationSpec defines the desired state of Application type ApplicationSpec struct { // INSERT ADDITIONAL SPEC FIELDS - desired state of cluster (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |