Kubernetes-源码研习社- Informer 机制

Informer 机制

informer 运行架构图

在这里插入图片描述

  1. Reflector 主要用于List 和watch 机制,List 用于获取indexer里面由controller缓存的数据,watch主要用于监听 api server获取 add update delete事件
  2. DeltaFIFO 主要由两部分组成,一分部是Delta,delta主要是一个资源存储对象(add update delete resync) ,另外一部分是FIFO 先进先出队列(Add、Update、Delete、List、Pop、Close)
  3. indexer 主要用于缓存controller所关心的informer资源,list 该资源的时候,不会对api 发起请求,从而减少对api server的压力,另外一部分用于Handle 从indexer里面检索数据

细化流程图

在这里插入图片描述
4. 从client-go把watch的数据进行存储在Indexer里面。
5. 触发event handlers,因为indexer存储的为NAMESPACE/NAME,在k8s里面存储在同一个namespace下面name是唯一的。
6. event handler 解析出来namespace/name然后存放进workqueue
7. process item 消费workqueue,获取到namespace/name ,由 handle从index里面通过namespace/name获取,元数据进行操作。

informer组件

Reflector

Reflector详细介绍

DeltaFIFO

DeltaFIFO详细介绍

Indexer

Indexer详细介绍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值