V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
zhoudaiyu

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

  •  
  •   zhoudaiyu ·
    PRO
    · Aug 25, 2020 via iPhone · 2697 views
    This topic created in 2083 days ago, the information mentioned may be changed or developed.
    现在是通过每 5 分钟轮询一遍集群所有资源,然后和数据库数据对比做增量修改的方式,但是实时性比较差。几秒一轮询平台这边性能不太够。有没有可以实时监控到资源有变动可以通知的方法,比如某个 Deployment 在集群中被删了,回调平台的某个接口把数据库中对应的资源也删掉?
    10 replies    2020-08-27 20:05:54 +08:00
    thet
        1
    thet  
       Aug 25, 2020 via iPhone
    参考 controller 扩展,可以使用 operator-sdk 或者 kube-builder 框架来写。
    buliugu
        2
    buliugu  
       Aug 25, 2020
    k8s Event 了解一下
    lhx2008
        3
    lhx2008  
       Aug 25, 2020 via Android
    k8s 里面跑一个 controller,k8s 有资源变动的那个 pod 会调你的函数,你就再去调业务接口同步就行了
    FinnBai
        4
    FinnBai  
       Aug 25, 2020
    apiserver list/watch 机制,可以监听集群资源变化
    tkl
        5
    tkl  
       Aug 25, 2020
    前几个已经回答了 还要考虑挂掉的情况
    mritd
        6
    mritd  
       Aug 25, 2020 via iPhone
    不是有 watch 么
    SkyYu822
        7
    SkyYu822  
       Aug 25, 2020
    你们用的是 go-client 直接调 API 同步的么
    zhoudaiyu
        8
    zhoudaiyu  
    OP
    PRO
       Aug 25, 2020 via iPhone
    @SkyYu822 python 的客户端
    iGeneral
        9
    iGeneral  
       Aug 27, 2020
    controller 做成 operator, 用 operator-sdk 的框架写特别快,简单的逻辑维护大循环就 ok.
    zhoudaiyu
        10
    zhoudaiyu  
    OP
    PRO
       Aug 27, 2020 via iPhone
    @iGeneral 请问这个和 kebebuilder 比怎么样
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   973 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 22:20 · PVG 06:20 · LAX 15:20 · JFK 18:20
    ♥ Do have faith in what you're doing.