mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-31 23:37:01 +00:00
kubernetes/kubernetes#22625 Fix issue of out-of-date Terminating
mirror pod status
- During `kubelet` `syncPod`, check mirror pod `DeletionTimestamp` value to determine whether re-create mirror pod for running static pod.
This commit is contained in:
parent
fea6b0d50c
commit
e2eccddc6f
@ -1738,14 +1738,16 @@ func (kl *Kubelet) syncPod(pod *api.Pod, mirrorPod *api.Pod, podStatus *kubecont
|
|||||||
if kubepod.IsStaticPod(pod) {
|
if kubepod.IsStaticPod(pod) {
|
||||||
podFullName := kubecontainer.GetPodFullName(pod)
|
podFullName := kubecontainer.GetPodFullName(pod)
|
||||||
deleted := false
|
deleted := false
|
||||||
if mirrorPod != nil && !kl.podManager.IsMirrorPodOf(mirrorPod, pod) {
|
if mirrorPod != nil {
|
||||||
// The mirror pod is semantically different from the static pod. Remove
|
if mirrorPod.DeletionTimestamp != nil || !kl.podManager.IsMirrorPodOf(mirrorPod, pod) {
|
||||||
// it. The mirror pod will get recreated later.
|
// The mirror pod is semantically different from the static pod. Remove
|
||||||
glog.Errorf("Deleting mirror pod %q because it is outdated", format.Pod(mirrorPod))
|
// it. The mirror pod will get recreated later.
|
||||||
if err := kl.podManager.DeleteMirrorPod(podFullName); err != nil {
|
glog.Errorf("Deleting mirror pod %q because it is outdated", format.Pod(mirrorPod))
|
||||||
glog.Errorf("Failed deleting mirror pod %q: %v", format.Pod(mirrorPod), err)
|
if err := kl.podManager.DeleteMirrorPod(podFullName); err != nil {
|
||||||
} else {
|
glog.Errorf("Failed deleting mirror pod %q: %v", format.Pod(mirrorPod), err)
|
||||||
deleted = true
|
} else {
|
||||||
|
deleted = true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if mirrorPod == nil || deleted {
|
if mirrorPod == nil || deleted {
|
||||||
|
Loading…
Reference in New Issue
Block a user