一图读懂k8s informer client-go.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
一图读懂k8s informer client-go k8s informer 是 client-go 中的一种机制,用于持续获取集群的所有资源对象、监听集群的资源对象变化功能,并在本地维护了全量资源对象的内存缓存,以减少对 apiserver 和 etcd 的请求压力。 Informers 在启动的时候会首先在客户端调用 List 接口来获取全量的对象集合,然后通过 Watch 接口来获取增量的对象,然后更新本地缓存。Informers 也有很强的健壮性,当长期运行的 watch 连接中断时,informers 会尝试拉起一个新的 watch 请求来恢复连接,在不丢失任何事件的情况下恢复事件流。 在 informers 的使用上,通常每个 GroupVersionResource(GVR)只实例化一个 informers,但有时候我们在一个应用中往往会在多个地方对同一种资源对象都有 informer 的需求,所以就有了共享 informer,即 SharedInformerFactory。所以可以通过使用 SharedInformerFactory 来实例化 informers,这样本地内存缓存就只有一份,通知机制也只有一套,大大提高了效率,减少了资源浪费。 k8s informer 主要包括以下几个部分:Reflector、DeltaFIFO、Controller。Reflector 负责从 kube-apiserver 中 list 资源对象列表和 watch 资源对象的变化,然后调用 DeltaFIFO 的 Replace、Add/Update/Delete 方法将 object 包装成 Delta 丢到 DeltaFIFO 中。DeltaFIFO 中存储着一个 map 和一个 queue,用于存储 Delta 和处理对象的变化。Controller 负责从 DeltaFIFO 的 queue 中 pop 一个 object key 出来,并从 DeltaFIFO 的 map 中获取其对应的 Deltas 出来进行处理,遍历 Deltas,根据对象的变化类型更新 Indexer 本地缓存,并通知 Processor 相关对象有变化事件发生。 k8s informer 的实现机制可以分为以下几个步骤: 1. Reflector 首先在客户端调用 List 接口来获取全量的对象集合。 2. Reflector 然后通过 Watch 接口来获取增量的对象,然后更新本地缓存。 3. DeltaFIFO 负责存储 Delta 和处理对象的变化。 4. Controller 负责从 DeltaFIFO 的 queue 中 pop 一个 object key 出来,并从 DeltaFIFO 的 map 中获取其对应的 Deltas 出来进行处理,遍历 Deltas,根据对象的变化类型更新 Indexer 本地缓存,并通知 Processor 相关对象有变化事件发生。 k8s informer 的优点是可以减少对 apiserver 和 etcd 的请求压力,并且可以提供实时的资源对象变化通知机制。除此之外,informers 也可以配置一个重新同步的周期参数,每间隔该周期,informers 就会重新 List 全量数据,从而确保缓存的数据是一致的。


























- 粉丝: 1
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 基于SVM和ANN的MATLAB GUI智能废弃金属分类分级系统
- 永磁同步电机PMSM的“无差电流预测控制+模型参考自适应参数辨识”技术
- COMSOL电池模型中Nernst-Planck方程的详细解析与应用 · 边界条件 最新版
- COMSOL模拟THM耦合下CO2-ECBM的驱替过程及多元气体吸附与煤体变形动态研究 THM耦合
- 模块化多电平换流器(MMC)与柔性直流输电系统(HVDC)的技术解析及应用
- 孤岛微电网DOS攻击防御的二次控制技术及混合动态事件触发机制 权威版
- 永磁同步电机模型预测电流控制(MPCC):基于代价函数寻优的优化控制策略及应用 - 模型预测控制
- 基于Simulink平台的ABS仿真模型:PID控制策略下的防抱死制动系统性能评估与分析
- (源码)基于Arduino UNO的汽车停车系统项目.zip
- Abaqus中Dload与Vdload子程序实现四轴及多轴汽车动态荷载模拟
- (源码)基于Arduino的穿戴式个人空气质量监测器.zip
- 基于GWO-SVM的单变量时序递归预测:MATLAB实现与应用 - 递归预测
- PMSM无传感器控制Simulink仿真及其基于滑膜观测器的FOC控制 - 配3页英文文献
- (源码)基于Python的豆瓣电影数据分析与可视化系统.zip
- 基于CS统计模型与UKF无迹卡尔曼滤波的三维路径跟踪预测仿真的研究:Matlab平台的实现与评估
- (源码)基于C++的跳表KV存储引擎.zip



评论0