I've been scaling up our single Jenkins master to cope with an increasing amount of jobs, and it's making me reconsider our long-term strategy. At what point does it stop being practical to keep adding more resources to one master? I'm really interested in hearing about your experiences. What challenges pushed you to transition to a multi-master setup? Are there specific thresholds regarding the number of jobs or teams where a single master becomes a real bottleneck? Or is it better to stick with a well-maintained single master for as long as possible? Looking for some insights from your real-world experiences. Thanks!
1 Answer
I generally have a rule: nothing should run on the master itself. The issue is that a minimum setup won't allow you to fully escape the master because it still needs to execute pipelines. If you've got complex pipelines with a lot of stages, you can hit memory issues that cause everything to slow down. Eventually, you either have to scale up or find ways around the limitations. I think if Jenkins were designed from the ground up today, it would offer better options for separating the control plane from the execution.

That makes a lot of sense! I've experienced that slowdown too, especially when dealing with larger projects.