From 32199cb95be1e3bd8b02606874eec2ea457b9188 Mon Sep 17 00:00:00 2001 From: Di Xu Date: Fri, 30 Jun 2017 20:44:30 +0800 Subject: [PATCH] don't recreate static pods when node gets deleted --- pkg/kubelet/kubelet.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index 12520835995..a592c712fbc 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -1597,9 +1597,14 @@ func (kl *Kubelet) syncPod(o syncPodOptions) error { } } if mirrorPod == nil || deleted { - glog.V(3).Infof("Creating a mirror pod for static pod %q", format.Pod(pod)) - if err := kl.podManager.CreateMirrorPod(pod); err != nil { - glog.Errorf("Failed creating a mirror pod for %q: %v", format.Pod(pod), err) + node, err := kl.GetNode() + if err != nil || node.DeletionTimestamp != nil { + glog.V(4).Infof("No need to create a mirror pod, since node %q has been removed from the cluster", kl.nodeName) + } else { + glog.V(4).Infof("Creating a mirror pod for static pod %q", format.Pod(pod)) + if err := kl.podManager.CreateMirrorPod(pod); err != nil { + glog.Errorf("Failed creating a mirror pod for %q: %v", format.Pod(pod), err) + } } } }