3

kube-controller-manager has the following property

-deployment-controller-sync-period duration     Default: 30s
Period for syncing the deployments.

What does this actually control and what does period for syncing the deployments mean?

Mark
  • 28,783
  • 8
  • 63
  • 92

1 Answers1

3

Haha most curious thing. You'd expect it does something like controlling how often the controller checks whether the status of Deployment objects are compatible with spec or if there is a change needed.

However currently the controller-manager is notified on changes by the apiserver so it always inherently knows this information already.

There is Issue #71510 where someone points out that parameter seems to be unused. I've done my own search for the parameter and a related search for the variable. As far as I can tell all of these uses are for copying this value around, conversions, declarations, etc, and none of them actually use it for anything at all.

A good test would be setting it to a year and see what happens. I haven't done that though.

Janos Lenart
  • 25,074
  • 5
  • 73
  • 75
  • I did see that defect but noted there was no response. My question was seeing a 30 second pause in the controller manager logs after a leader election and I was interested to see if a particular parameter controls this pause. – Mark Apr 01 '19 at 11:42
  • so, how does apiserver knows about the change? does kubelet calls apiserver? – karthikeayan Feb 12 '22 at 19:16