【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 实现管理组件 不太现实

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

相关推荐
Li_yizYa13 小时前
谈谈Java集合中的fail-fast和fail-safe
java·开发语言
十五年专注C++开发13 小时前
CMake进阶:模块模式示例FindOpenCL.cmake详解
开发语言·c++·cmake·跨平台编译
蜜汁小强13 小时前
macOS 上管理不同版本的python
开发语言·python·macos
肥硕之虎13 小时前
从原理到实操:php://filter 伪协议玩转文件包含漏洞
开发语言·网络安全·php
a努力。13 小时前
中国电网Java面试被问:RPC序列化的协议升级和向后兼容
java·开发语言·elasticsearch·面试·职场和发展·rpc·jenkins
csbysj202013 小时前
Bootstrap4 徽章(Badges)
开发语言
码农水水13 小时前
得物Java面试被问:大规模数据的分布式排序和聚合
java·开发语言·spring boot·分布式·面试·php·wpf
AI_567814 小时前
Airflow“3分钟上手”教程:用Python定义定时数据清洗任务
开发语言·人工智能·python
大只鹅14 小时前
Stream使用
java·开发语言
Ulyanov14 小时前
PyVista三维战场仿真实战
开发语言·python·tkinter·pyvista·gui开发