diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index f4317a36da7..68d790242db 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -1660,7 +1660,13 @@ func (kl *Kubelet) Run(updates <-chan kubetypes.PodUpdate) { // Introduce some small jittering to ensure that over time the requests won't start // accumulating at approximately the same time from the set of nodes due to priority and // fairness effect. - go wait.JitterUntil(kl.syncNodeStatus, kl.nodeStatusUpdateFrequency, 0.04, true, wait.NeverStop) + go func() { + // Call updateRuntimeUp once before syncNodeStatus to make sure kubelet had already checked runtime state + // otherwise when restart kubelet, syncNodeStatus will report node notReady in first report period + kl.updateRuntimeUp() + wait.JitterUntil(kl.syncNodeStatus, kl.nodeStatusUpdateFrequency, 0.04, true, wait.NeverStop) + }() + go kl.fastStatusUpdateOnce() // start syncing lease