Search code examples
kuberneteskube-controller-manager

What is the deployment controller sync period for kube-controller-manager?


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?


Solution

  • 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.