I'm evaluating puppet to see if it can work in our environment and I have to admit the the learning cure with the puppet "terms" are giving me issues. I keep reading documentation into circles. I'm familiar with python, bash scripting, and use munki in my labs, but I'm stilling trying to understand manifest, modules, classes, etc.
What I have is a Master and a 1 node setup. They are talking and the Puppet Master is pushing configurations to the node. That's perfect. I handle this by having two manifest on the Master. A puppet_client_1.pp and my site.pp. My site.pp looks like this:
Next step ... manage two nodes. I have this working by creating a new .pp file called puppet_client_2.pp. I then updated my site.pp to include the second nodes manifest.
import "puppet_client_1"
import "puppet_client_2"
My question is ... is this the best practice to manage multiple nodes? What if I have a lab of 20 machines and I want the same configuration on all 20? Can I do a nested manifest somehow, or do I have to create a separate manifest for each node and then copy and paste my configuration into each manifest?
That seems like a lot of work to manage hundreds of nodes. I have to believe puppet scales better then that, but I've having a hard time finding examples.
Can anyone share an example of how they are managing multiple nodes? Perhaps point me to an online resource or documentation?