Flux CD
Hard
Architecture
One kustomize-controller can't keep up with thousands of Kustomizations. How does Flux split the work?
Select your answer:
Show answer and explanation
Answer: Extra controller instances, each with --watch-label-selector for one sharding.fluxcd.io/key value
Explanation
You label Flux objects with sharding.fluxcd.io/key, run additional controller instances that only watch their shard through --watch-label-selector, and make the main instance skip those labels. Extra replicas of one Deployment don't help, because only the leader reconciles.
More hard Flux CD questions
- What does 'flux reconcile kustomization my-app' change on the object to trigger a reconciliation?
- A ConfigMap applied by a Flux Kustomization holds a shell script using ${HOME}, and postBuild substitution blanks it out. What stops that?
- A HelmRelease in flux-system sets targetNamespace: apps and no storageNamespace. Where does Helm keep the release's storage Secrets?
- How can an OCIRepository authenticate to Amazon ECR without a static registry password?
- You need to add a label to a Deployment that a third-party chart renders, and the chart has no value for it. What does a HelmRelease offer?
- What permissions does the deploy key created by 'flux bootstrap github' have by default?