V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhoudaiyu
V2EX  ›  Kubernetes

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

  •  
  •   zhoudaiyu · 2020-08-25 00:10:37 +08:00 via iPhone · 2084 次点击
    这是一个创建于 1553 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在是通过每 5 分钟轮询一遍集群所有资源,然后和数据库数据对比做增量修改的方式,但是实时性比较差。几秒一轮询平台这边性能不太够。有没有可以实时监控到资源有变动可以通知的方法,比如某个 Deployment 在集群中被删了,回调平台的某个接口把数据库中对应的资源也删掉?
    10 条回复    2020-08-27 20:05:54 +08:00
    thet
        1
    thet  
       2020-08-25 00:42:40 +08:00 via iPhone
    参考 controller 扩展,可以使用 operator-sdk 或者 kube-builder 框架来写。
    buliugu
        2
    buliugu  
       2020-08-25 00:44:00 +08:00
    k8s Event 了解一下
    lhx2008
        3
    lhx2008  
       2020-08-25 00:45:40 +08:00 via Android
    k8s 里面跑一个 controller,k8s 有资源变动的那个 pod 会调你的函数,你就再去调业务接口同步就行了
    baiyi
        4
    baiyi  
       2020-08-25 07:50:41 +08:00
    apiserver list/watch 机制,可以监听集群资源变化
    tkl
        5
    tkl  
       2020-08-25 09:29:06 +08:00
    前几个已经回答了 还要考虑挂掉的情况
    mritd
        6
    mritd  
       2020-08-25 09:31:36 +08:00 via iPhone
    不是有 watch 么
    SkyYu822
        7
    SkyYu822  
       2020-08-25 09:44:33 +08:00
    你们用的是 go-client 直接调 API 同步的么
    zhoudaiyu
        8
    zhoudaiyu  
    OP
       2020-08-25 11:37:46 +08:00 via iPhone
    @SkyYu822 python 的客户端
    iGeneral
        9
    iGeneral  
       2020-08-27 19:04:48 +08:00
    controller 做成 operator, 用 operator-sdk 的框架写特别快,简单的逻辑维护大循环就 ok.
    zhoudaiyu
        10
    zhoudaiyu  
    OP
       2020-08-27 20:05:54 +08:00 via iPhone
    @iGeneral 请问这个和 kebebuilder 比怎么样
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   925 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 22:13 · PVG 06:13 · LAX 14:13 · JFK 17:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.