Merge pull request #134316 from xigang/node_controller_pod

node_lifecycle_controller: fix processing deleted pod events, which are currently missed
This commit is contained in:
Kubernetes Prow Robot 2026-02-11 09:26:00 +05:30 committed by GitHub
commit fce5bc2854
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -368,23 +368,6 @@ func NewNodeLifecycleController(
newPod := obj.(*v1.Pod)
nc.podUpdated(prevPod, newPod)
},
DeleteFunc: func(obj interface{}) {
pod, isPod := obj.(*v1.Pod)
// We can get DeletedFinalStateUnknown instead of *v1.Pod here and we need to handle that correctly.
if !isPod {
deletedState, ok := obj.(cache.DeletedFinalStateUnknown)
if !ok {
logger.Error(nil, "Received unexpected object", "object", obj)
return
}
pod, ok = deletedState.Obj.(*v1.Pod)
if !ok {
logger.Error(nil, "DeletedFinalStateUnknown contained non-Pod object", "object", deletedState.Obj)
return
}
}
nc.podUpdated(pod, nil)
},
})
nc.podInformerSynced = podInformer.Informer().HasSynced
controller.AddPodNodeNameIndexer(podInformer.Informer())