sharedInformer
sharedInformer
原理
ShareInformer的作用
主要负责完成两大类功能:
1、缓存我们关注的资源对象的最新状态的数据
如:创建Indexer/Clientset(通过listerwatcher)/ DeltaFIFO/Controller(包含Reflector的创建)
2、根所资源对象的变化事件来通知我们注册的事件处理方法
如:创建sharedProcessor/注册事件处理方法
ShareInformer的创建
-
NewSharedIndexInformer
创建Informer的基本方法
-
NewDeploymentInformer
创建内建资源对象对应的informer的方法,调用NewSharedIndexInformer实现
-
NewSharedInformerFactory
工厂方法,内部有一个map存放我们创建过的Informer,达到共享informer的目的,避免重复创建informer对象,浪费内存。
ShareInformer的使用
package main
import (
"fmt"
"k8s.io/client-go/informers"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/tools/cache"
"k8s.io/client-go/tools/clientcmd"
)
您暂时无权查看此隐藏内容!