mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-29 14:37:00 +00:00
Merge pull request #42916 from dashpole/misleading_log
Automatic merge from submit-queue Clearer ImageGC failure errors. Fewer events. Addresses #26000. Kubelet often "fails" image garbage collection if cAdvisor has not completed the first round of stats collection. Don't create events for a single failure, and make log messages more specific. @kubernetes/sig-node-bugs
This commit is contained in:
commit
faf2eca226
@ -1159,17 +1159,22 @@ func (kl *Kubelet) StartGarbageCollection() {
|
|||||||
}
|
}
|
||||||
}, ContainerGCPeriod, wait.NeverStop)
|
}, ContainerGCPeriod, wait.NeverStop)
|
||||||
|
|
||||||
loggedImageGCFailure := false
|
prevImageGCFailed := false
|
||||||
go wait.Until(func() {
|
go wait.Until(func() {
|
||||||
if err := kl.imageManager.GarbageCollect(); err != nil {
|
if err := kl.imageManager.GarbageCollect(); err != nil {
|
||||||
glog.Errorf("Image garbage collection failed: %v", err)
|
if prevImageGCFailed {
|
||||||
kl.recorder.Eventf(kl.nodeRef, v1.EventTypeWarning, events.ImageGCFailed, err.Error())
|
glog.Errorf("Image garbage collection failed multiple times in a row: %v", err)
|
||||||
loggedImageGCFailure = true
|
// Only create an event for repeated failures
|
||||||
|
kl.recorder.Eventf(kl.nodeRef, v1.EventTypeWarning, events.ImageGCFailed, err.Error())
|
||||||
|
} else {
|
||||||
|
glog.Errorf("Image garbage collection failed once. Stats initialization may not have completed yet: %v", err)
|
||||||
|
}
|
||||||
|
prevImageGCFailed = true
|
||||||
} else {
|
} else {
|
||||||
var vLevel glog.Level = 4
|
var vLevel glog.Level = 4
|
||||||
if loggedImageGCFailure {
|
if prevImageGCFailed {
|
||||||
vLevel = 1
|
vLevel = 1
|
||||||
loggedImageGCFailure = false
|
prevImageGCFailed = false
|
||||||
}
|
}
|
||||||
|
|
||||||
glog.V(vLevel).Infof("Image garbage collection succeeded")
|
glog.V(vLevel).Infof("Image garbage collection succeeded")
|
||||||
|
Loading…
Reference in New Issue
Block a user