I'm trying to figure out if there is a common/working setup that people are using to host puppet in remote sites.
At first our setup was that we have several puppetmasters (PM) in site A and a couple in our smaller site B. In site A we are also hosting Foreman and our mysql DB for storeconfigs. site A and B are connected via a WAN that is fairly slow.
With this setup the issue I ran into was a lot of puppet agent runs in site B would timeout. They connect to their PM in site B just fine, but then the site B PM needs to connect to the storeconfigs DB in site A. This connection usually takes too long. So we end up with about 50% error rate in site B while having a 0% error rate in site A.
Something else I've tried is just having agents in site B use the PMs in site A (so no more PM in site B). This helps a lot, but we still get errors. The 50% error rate drops down to about 1% error rate. It seems the traffic from agent to PM is less then the traffic from PM to DB? Not only did the error rate go down, but config retrievals sped up.
One thing I'm wondering is if there is a way to setup a mysql storeconfigs DB in site B to reduce latency. Either only nodes in site B will use storeconfigs in site B or maybe site A and B are 'clustered' somehow over WAN? I'm not very strong with mysql skills though so I'm not sure what all can be done with it to address the issues I'm facing ...
So I was wondering does anyone else manage remote sites? Is there a way to do it while still maintaining a central storeconfigs DB and 'dashboard/ENC' (don't want to have 'login here to view these nodes, login there to view these other nodes)?
Thanks for all comments!
Jake