Our puppetdb installation uses infrastructure is realized by having multiple puppetdb servers , all with sharing the same postgres database behind them. The IP used by puppetdb is handled with keepalivedpostgresql database. In front of the puppetdb servers we have a load balancer to distribute the load among them.
Installing a new puppetdb server
These are the steps required to install a new puppetdb server:
- Install a new node with the role "role::base"
- Make sure to add the puppetdb hostname in the nodes hiera file under the key "profile::puppet::altnames". Then regenerate the puppet client certificates for this node, so that the node have a certificate valid for both its hostname and the common puppetdb hostname.