docs: Cleanup brief intro of sharedInformerFactory (#465)

* docs: Cleanup brief intro of sharedInformerFactory

* Update client-go-informer-sourcecode-analyse.md

Co-authored-by: Jimmy Song <rootsongjc@gmail.com>
pull/466/head
TianYi(Tony) 2022-04-06 21:52:57 -04:00 committed by GitHub
parent c3430336e5
commit ab78607e73
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 9 deletions

View File

@ -21,17 +21,17 @@ deploymentLister := kubeInformerFactory.Apps().V1().Deployments().Lister()
kubeInformerFactory.Start(stopCh) kubeInformerFactory.Start(stopCh)
``` ```
### SharedInformerFactory结构 ### SharedInformerFactory 结构
使用sharedInformerFactory可以统一管理控制器中需要的各资源对象的informer实例避免同一个资源创建多个实例这里的informer实现是shareIndexInformer 使用 sharedInformerFactory 可以统一管理控制器中需要的各资源对象的 informer 实例,避免同一个资源创建多个实例,这里的 informer 实现是 shareIndexInformer
NewSharedInformerFactory调用了NewSharedInformerFactoryWithOptions将返回一个sharedInformerFactory对象 NewSharedInformerFactory 调用了 NewSharedInformerFactoryWithOptions将返回一个 sharedInformerFactory 对象。下面是对该结构的描述:
> client: clientset支持直接请求api中各内置资源对象的restful group客户端集合 - client: clientset支持直接请求 api 中各内置资源对象的 restful group 客户端集合
> namespace: factory关注的namespace默认All Namespaceinformer中的reflector将只会listAndWatch指定namespace的资源 - namespace: factory 关注的 namespace默认 All Namespaceinformer 中的 reflector 将只会 listAndWatch 指定 namespace 的资源
> defaultResync: 用于初始化持有的shareIndexInformer的resyncCheckPeriod和defaultEventHandlerResyncPeriod字段用于定时的将local store同步到deltaFIFO - defaultResync: 用于初始化持有的 shareIndexInformer 的 resyncCheckPeriod 和 defaultEventHandlerResyncPeriod 字段,用于定时的将 local store 同步到 deltaFIFO
> customResync支持针对每一个informer来配置resync时间通过WithCustomResyncConfig这个Option配置否则就用指定的defaultResync - customResync支持针对每一个 informer 来配置 resync 时间,通过 WithCustomResyncConfig 这个 Option 配置,否则就用指定的 defaultResync
> informersfactory管理的informer集合 - informersfactory 管理的 informer 集合
> startedInformers记录已经启动的informer集合 - startedInformers记录已经启动的 informer 集合
```go ```go
type sharedInformerFactory struct { type sharedInformerFactory struct {