kubernetes watch的使用源码

原来从来不写博客,都是将一些知识记录到mybase里面,现在觉得写博客也不错,慢慢讲自己的东西转移到博客来。。。。
func GetNodeLister(kubeClient *kube_client.Clientset) (v1listers.NodeLister, *cache.Reflector, error) {
   lw := cache.NewListWatchFromClient(kubeClient.CoreV1().RESTClient(), "nodes", kube_api.NamespaceAll, fields.Everything())
   store := cache.NewIndexer(cache.MetaNamespaceKeyFunc, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc})
   nodeLister := v1listers.NewNodeLister(store)
   reflector := cache.NewReflector(lw, &kube_api.Node{}, store, time.Second)
   reflector.Run()
   return nodeLister, reflector, nil
}
func getPodLister(kubeClient *kube_client.Clientset) (v1listers.PodLister, error) {
   lw := cache.NewListWatchFromClient(kubeClient.CoreV1().RESTClient(), "pods", kube_api.NamespaceAll, fields.Everything())
   store := cache.NewIndexer(cache.MetaNamespaceKeyFunc, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc})
   podLister := v1listers.NewPodLister(store)
   reflector := cache.NewReflector(lw, &kube_api.Pod{}, store, time.Second)
   reflector.Run()
   return podLister, nil
}

你可能感兴趣的:(Kubernetes)