nodelifecycle: fix processing deleted pod events, which are currently missed

Signed-off-by: xigang <wangxigang2014@gmail.com>
This commit is contained in:
xigang 2025-09-28 11:40:43 +08:00
parent 07a697046f
commit 0fe227edfa

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())