K8s client-go 源码中 informer 的 Indexer 部分是如何实现的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2907个文字,预计阅读时间需要12分钟。
%E2%80%9CInformers%E5%AE%9E%E7%8E%B0%E4%BA%86%E6%8C%81%E7%BB%AD%E8%8E%B7%E5%8F%96%E9%9B%86%E7%BE%A4%E8%B5%84%E6%BA%90%E7%9A%84%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%B9%B6%E5%9C%A8%E6%9C%AC%E5%9C%B0%E7%BB%B4%E6%8A%A5%E4%BA%86%E8%B5%84%E6%BA%90%E5%AF%B9%E8%B1%A1%E7%9A%84%E5%86%85%E5%AD%98%E7%BC%93%E5%AD%98%EF%BC%8C%E4%BB%A5%E5%87%8F%E5%B0%91%E8%AF%B7%E6%B1%82%E5%8E%8B%E5%8A%9B%E3%80%82%E5%9C%A8%E5%90%AF%E5%8A%A8%E6%97%B6%E5%80%99%E9%A6%96%E5%85%88%E6%89%A7%E8%A1%8C%E2%80%9D
informers实现了持续获取集群的所有资源对象、监听集群的资源对象变化功能,并在本地维护了全量资源对象的内存缓存,以减少对apiserver、对etcd的请求压力。Informers在启动的时候会首先在客户端调用List接口来获取全量的对象集合,然后通过Watch接口来获取增量的对象,然后更新本地缓存。 client-go之Indexer源码分析 1.Indexer概述Indexer中有informer维护的指定资源对象的相对于etcd数据的一份本地内存缓存,可通过该缓存获取资源对象,以减少对apiserver、对etcd的请求压力。
本文共计2907个文字,预计阅读时间需要12分钟。
%E2%80%9CInformers%E5%AE%9E%E7%8E%B0%E4%BA%86%E6%8C%81%E7%BB%AD%E8%8E%B7%E5%8F%96%E9%9B%86%E7%BE%A4%E8%B5%84%E6%BA%90%E7%9A%84%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%B9%B6%E5%9C%A8%E6%9C%AC%E5%9C%B0%E7%BB%B4%E6%8A%A5%E4%BA%86%E8%B5%84%E6%BA%90%E5%AF%B9%E8%B1%A1%E7%9A%84%E5%86%85%E5%AD%98%E7%BC%93%E5%AD%98%EF%BC%8C%E4%BB%A5%E5%87%8F%E5%B0%91%E8%AF%B7%E6%B1%82%E5%8E%8B%E5%8A%9B%E3%80%82%E5%9C%A8%E5%90%AF%E5%8A%A8%E6%97%B6%E5%80%99%E9%A6%96%E5%85%88%E6%89%A7%E8%A1%8C%E2%80%9D
informers实现了持续获取集群的所有资源对象、监听集群的资源对象变化功能,并在本地维护了全量资源对象的内存缓存,以减少对apiserver、对etcd的请求压力。Informers在启动的时候会首先在客户端调用List接口来获取全量的对象集合,然后通过Watch接口来获取增量的对象,然后更新本地缓存。 client-go之Indexer源码分析 1.Indexer概述Indexer中有informer维护的指定资源对象的相对于etcd数据的一份本地内存缓存,可通过该缓存获取资源对象,以减少对apiserver、对etcd的请求压力。

