<p>开发一个k8s operator,当然可以在官方原生的controller-runtime 项目上从头构建,但是比较复杂。现在一般基于operator脚手架进行开发。目前最流行的的脚手架是Kubebuilder 或 OperatorSDK。Kubebuilder 或 OperatorSDK都是对controller-runtime 项目进行了上层的封装,使开发者可以专注于业务逻辑的实现。这里讲解kubebuilder的使用步骤。</p><p>首选需要一个可用的K8S集群。然后有一台linux服务器,能部署kubebuilder</p><div class="image-package"><img src="https://upload-images.jianshu.io/upload_images/5149787-c90b12620aad0967.jpeg" img-data="{"format":"jpeg","size":10955,"width":761,"height":220,"space":"srgb","channels":3,"depth":"uchar","density":72,"chromaSubsampling":"4:2:0","isProgressive":false,"hasProfile":false,"hasAlpha":false}" class="uploaded-img" style="min-height:200px;min-width:200px;" width="auto" height="auto"/>
</div>
<h2><span/><span>kubectl的配置</span><span/><span> </span></h2><p>下载</p>curl -LO https://storage.googleapis.com/kubernetes-release/release/ go env -w GO111MODULE=on
tar zxvf kustomize_v3.8.1_linux_amd64.tar.gz
mv kustomize /usr/local/bin/
unzip v0.10.0.zip
go build -a -o controller-gen cmd/controller-gen/main.go
controller-gen --version
Version: (devel)
<h4><span/><span>安装kubebuilder</span><span/></h4># go env GOOS -- 获取操作系统类型,例如:linux等
# go env GOARCH -- 获取系统架构,例如:arm或amd64等(go env GOOS)/
chmod +x kubebuilder && mv kubebuilder /usr/local/bin/
<p>安装完成,查看下版本</p># kubebuilder version
Version: main.version{KubeBuilderVersion:"3.2.0", KubernetesVendor:"1.22.1", GitCommit:"b7a730c84495122a14a0faff95e9e9615fffbfc5", BuildDate:"2021-10-29T18:32:16Z", GoOs:"linux", GoArch:"amd64"}
kubebuilder(1)开发环境搭建
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 环境准备 阿里云ecs服务器(例如47.101.41.231) . 配置公网入口安全组 .配置安全组规则 如果是对...
- 欢迎扫码关注公众号flysnow_org,第一时间看后续文章。觉得有帮助的话,顺手分享到朋友圈吧,感谢支持。 前段...