mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	Merge pull request #52155 from kevin-wangzefeng/fix-prober-phase-shift
Automatic merge from submit-queue (batch tested with PRs 50949, 52155, 52175, 52112, 52188) Fix prober ticking shift for kubelet restart cases Fixes #52154 call sleep() before `probeTicker` starts ticking, to reduce the number of probers executed at the same time, after kubelete restarted. **Special notes for your reviewer**: Before:  After:  **Release note**: ```release-note NONE ``` /cc @kubernetes/sig-node-bugs
This commit is contained in:
		@@ -99,6 +99,11 @@ func newWorker(
 | 
			
		||||
// run periodically probes the container.
 | 
			
		||||
func (w *worker) run() {
 | 
			
		||||
	probeTickerPeriod := time.Duration(w.spec.PeriodSeconds) * time.Second
 | 
			
		||||
 | 
			
		||||
	// If kubelet restarted the probes could be started in rapid succession.
 | 
			
		||||
	// Let the worker wait for a random portion of tickerPeriod before probing.
 | 
			
		||||
	time.Sleep(time.Duration(rand.Float64() * float64(probeTickerPeriod)))
 | 
			
		||||
 | 
			
		||||
	probeTicker := time.NewTicker(probeTickerPeriod)
 | 
			
		||||
 | 
			
		||||
	defer func() {
 | 
			
		||||
@@ -111,10 +116,6 @@ func (w *worker) run() {
 | 
			
		||||
		w.probeManager.removeWorker(w.pod.UID, w.container.Name, w.probeType)
 | 
			
		||||
	}()
 | 
			
		||||
 | 
			
		||||
	// If kubelet restarted the probes could be started in rapid succession.
 | 
			
		||||
	// Let the worker wait for a random portion of tickerPeriod before probing.
 | 
			
		||||
	time.Sleep(time.Duration(rand.Float64() * float64(probeTickerPeriod)))
 | 
			
		||||
 | 
			
		||||
probeLoop:
 | 
			
		||||
	for w.doProbe() {
 | 
			
		||||
		// Wait for next probe tick.
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user