Merge pull request #48339 from dixudx/dont_recreate_static_pod_when_node_deleted

Automatic merge from submit-queue (batch tested with PRs 53135, 52512, 48339). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

don't recreate a mirror pod for static pod when node gets deleted

**What this PR does / why we need it**:

Currently `kubelet` will try to recreate a mirror pod for static pod when node gets deleted.

**Which issue this PR fixes** : fixes #48213 

**Special notes for your reviewer**:

**Release note**:

```release-note
don't recreate a mirror pod for static pod when node gets deleted
```
This commit is contained in:
Kubernetes Submit Queue 2017-10-03 13:08:18 -07:00 committed by GitHub
commit 5f64769b42

View File

@ -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)
}
}
}
}