mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 11:50:44 +00:00
Merge pull request #81839 from krzysied/node_controller_pod_informer
Moving podInformer to node controller scope
This commit is contained in:
commit
9ae0963fb7
@ -206,6 +206,8 @@ type Controller struct {
|
|||||||
nodeLister corelisters.NodeLister
|
nodeLister corelisters.NodeLister
|
||||||
nodeInformerSynced cache.InformerSynced
|
nodeInformerSynced cache.InformerSynced
|
||||||
|
|
||||||
|
getPodsAssignedToNode func(nodeName string) ([]v1.Pod, error)
|
||||||
|
|
||||||
recorder record.EventRecorder
|
recorder record.EventRecorder
|
||||||
|
|
||||||
// Value controlling Controller monitoring period, i.e. how often does Controller
|
// Value controlling Controller monitoring period, i.e. how often does Controller
|
||||||
@ -363,8 +365,6 @@ func NewNodeLifecycleController(
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
nc.podInformerSynced = podInformer.Informer().HasSynced
|
nc.podInformerSynced = podInformer.Informer().HasSynced
|
||||||
|
|
||||||
if nc.runTaintManager {
|
|
||||||
podInformer.Informer().AddIndexers(cache.Indexers{
|
podInformer.Informer().AddIndexers(cache.Indexers{
|
||||||
nodeNameKeyIndex: func(obj interface{}) ([]string, error) {
|
nodeNameKeyIndex: func(obj interface{}) ([]string, error) {
|
||||||
pod, ok := obj.(*v1.Pod)
|
pod, ok := obj.(*v1.Pod)
|
||||||
@ -379,9 +379,7 @@ func NewNodeLifecycleController(
|
|||||||
})
|
})
|
||||||
|
|
||||||
podIndexer := podInformer.Informer().GetIndexer()
|
podIndexer := podInformer.Informer().GetIndexer()
|
||||||
podLister := podInformer.Lister()
|
nc.getPodsAssignedToNode = func(nodeName string) ([]v1.Pod, error) {
|
||||||
podGetter := func(name, namespace string) (*v1.Pod, error) { return podLister.Pods(namespace).Get(name) }
|
|
||||||
podByNodeNameLister := func(nodeName string) ([]v1.Pod, error) {
|
|
||||||
objs, err := podIndexer.ByIndex(nodeNameKeyIndex, nodeName)
|
objs, err := podIndexer.ByIndex(nodeNameKeyIndex, nodeName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -396,9 +394,13 @@ func NewNodeLifecycleController(
|
|||||||
}
|
}
|
||||||
return pods, nil
|
return pods, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if nc.runTaintManager {
|
||||||
|
podLister := podInformer.Lister()
|
||||||
|
podGetter := func(name, namespace string) (*v1.Pod, error) { return podLister.Pods(namespace).Get(name) }
|
||||||
nodeLister := nodeInformer.Lister()
|
nodeLister := nodeInformer.Lister()
|
||||||
nodeGetter := func(name string) (*v1.Node, error) { return nodeLister.Get(name) }
|
nodeGetter := func(name string) (*v1.Node, error) { return nodeLister.Get(name) }
|
||||||
nc.taintManager = scheduler.NewNoExecuteTaintManager(kubeClient, podGetter, nodeGetter, podByNodeNameLister)
|
nc.taintManager = scheduler.NewNoExecuteTaintManager(kubeClient, podGetter, nodeGetter, nc.getPodsAssignedToNode)
|
||||||
nodeInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{
|
nodeInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{
|
||||||
AddFunc: nodeutil.CreateAddNodeHandler(func(node *v1.Node) error {
|
AddFunc: nodeutil.CreateAddNodeHandler(func(node *v1.Node) error {
|
||||||
nc.taintManager.NodeUpdated(nil, node)
|
nc.taintManager.NodeUpdated(nil, node)
|
||||||
|
Loading…
Reference in New Issue
Block a user