【golang-技巧】-自定义k8s-operator-by kubebuilder

0.背景&参考

link : https://github.com/guangtouwangba/blog-example/tree/master/k8s-operator

https://juejin.cn/post/7192525316890296380

https://book.kubebuilder.io/quick-start

1.download

bash 复制代码
sudo curl -L -o kubebuilder https://go.kubebuilder.io/dl/latest/$(go env GOOS)/$(go env GOARCH) && sudo chmod +x kubebuilder && sudo mv kubebuilder /usr/local/bin/
shell 复制代码
kubebuilder version

2.simple operator

shell 复制代码
go mod init dongchen.org/k8s
kubebuilder init --plugins go/v3 --domain dongchen.org --owner 'dongchen'

# gvk
kubebuilder create api --group k8s --version v1beta1 --kind AlertManagerConsole  

# 修改代码后 make manifests

# 安装crd
make install 

# 本地运行 
# 如果不行 打包镜像放到k8s中
make run 

3.结论

我的理解 本质是是 k8s 提供crd 机制 ,kubebuilder 提供了一个脚手架

那么我们通过 list/watch 自定义crd ,从而实现 自定义crd 要管理/创建 不同类型的工作负载或pod

实现自定义的pod管理机制

或着 实现自己应用平台 一整套逻辑 减轻实施部署同学或运维同学 压力

目前也想实现一套operator ,但是目前工作平台太过复杂,通过operator 实现管理组件 不太现实

有更好的建议也可以聊一下

相关推荐
后青春期的诗go13 分钟前
基于Rust语言的Rocket框架和Sqlx库开发WebAPI项目记录(一)
开发语言·后端·rust
景天科技苑1 小时前
【Rust闭包】rust语言闭包函数原理用法汇总与应用实战
开发语言·后端·rust·闭包·闭包函数·rust闭包·rust闭包用法
欧先生^_^1 小时前
rust语言,与c,go语言一样也是编译成二进制文件吗?
c语言·golang·rust
uyeonashi2 小时前
【Boost搜索引擎】构建Boost站内搜索引擎实践
开发语言·c++·搜索引擎
再睡一夏就好2 小时前
从硬件角度理解“Linux下一切皆文件“,详解用户级缓冲区
linux·服务器·c语言·开发语言·学习笔记
TIF星空3 小时前
【使用 C# 获取 USB 设备信息及进行通信】
开发语言·经验分享·笔记·学习·microsoft·c#
Smile丶凉轩5 小时前
Qt 界面优化(绘图)
开发语言·数据库·c++·qt
水淹萌龙6 小时前
k8s 中使用 Service 访问时NetworkPolicy不生效问题排查
云原生·容器·kubernetes
reasonsummer6 小时前
【办公类-100-01】20250515手机导出教学照片,自动上传csdn+最大化、最小化Vs界面
开发语言·python
苏三福7 小时前
ros2 hunmle bag 数据包转为图片数据 python版
开发语言·python·ros2humble