【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
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/
kubebuilder version
2.simple operator
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 实现管理组件 不太现实
有更好的建议也可以聊一下