容器管理平台资源数据如何和 K8S 集群实时同步?

2020-08-25 00:10:37 +08:00
 zhoudaiyu
现在是通过每 5 分钟轮询一遍集群所有资源,然后和数据库数据对比做增量修改的方式,但是实时性比较差。几秒一轮询平台这边性能不太够。有没有可以实时监控到资源有变动可以通知的方法,比如某个 Deployment 在集群中被删了,回调平台的某个接口把数据库中对应的资源也删掉?
1956 次点击
所在节点    Kubernetes
10 条回复
thet
2020-08-25 00:42:40 +08:00
参考 controller 扩展,可以使用 operator-sdk 或者 kube-builder 框架来写。
buliugu
2020-08-25 00:44:00 +08:00
k8s Event 了解一下
lhx2008
2020-08-25 00:45:40 +08:00
k8s 里面跑一个 controller,k8s 有资源变动的那个 pod 会调你的函数,你就再去调业务接口同步就行了
baiyi
2020-08-25 07:50:41 +08:00
apiserver list/watch 机制,可以监听集群资源变化
tkl
2020-08-25 09:29:06 +08:00
前几个已经回答了 还要考虑挂掉的情况
mritd
2020-08-25 09:31:36 +08:00
不是有 watch 么
SkyYu822
2020-08-25 09:44:33 +08:00
你们用的是 go-client 直接调 API 同步的么
zhoudaiyu
2020-08-25 11:37:46 +08:00
@SkyYu822 python 的客户端
iGeneral
2020-08-27 19:04:48 +08:00
controller 做成 operator, 用 operator-sdk 的框架写特别快,简单的逻辑维护大循环就 ok.
zhoudaiyu
2020-08-27 20:05:54 +08:00
@iGeneral 请问这个和 kebebuilder 比怎么样

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/701109

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX