client-go
MorningFish Lv6

client-go 机制

在k8s中,都是通过client-goapiserver进行交互

client-go

组件

client-go 主要由三个部分组成

  • Reflector :会watchapiserver,并将接收到的对象推入DeltaFIFO队列中的watchHandler 函数
  • Informer :通过processLoop函数将对象从DeltaFIFO队列中弹出,并存入控制器中
  • Indexer:索引器可以基于几个索引功能来维护索引。索引器使用线程安全的数据存储来存储对象及其键。在包高速缓存 中的存储类型中定义了一个名为MetaNamespaceKeyFunc的默认函数,该函数生成对象的密钥作为该对象的组合。<namespace>/<name>

编写时

Client-Go中的基本控制器提供了NewIndexerInformer函数来创建InformerIndexer。可以直接调用函数或者使用工厂函数创建

参考

controller-client-go

  • Post title:client-go
  • Post author:MorningFish
  • Create time:2020-10-27 20:21:52
  • Post link:https://chazyu.com/2020/10/27/k8s/client_go/
  • Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.
 Comments