Added specific information on resource declaration (#20216)

This commit is contained in:
Chris Williams
2018-10-28 00:15:59 -04:00
committed by Christopher McCormack
parent ad44442741
commit 8ed2244855

View File

@ -10,8 +10,8 @@ source: Wikipedia/Puppet
## What exactly does a configuration management tool do?
Say you have a web application served by two servers up and running, and then you need to update one configuration (for example you need to update Python), you can go to the first machine and make the update, then go to the next machine and do the same.
Imagine if instead of two servers you have tens, or hundreds of servers. How can you make changes to all of them? How can you ensure that all of them are in the required state? and how do you specify this required state?
Imagine if instead of two servers you have tens, or hundreds of servers. How can you make changes to all of them? How can you ensure that all of them are in the required state, and how do you specify this required state?
This is when Puppet comes in as a configuration management tool.
You define the state you want your servers to be in, you define this state in "manifest files" (.pp). Then puppet makes sure that all your servers which connect to puppet are in this desired state.
You define the state you want your servers to be in, you define this state in "manifest files" (.pp). Then puppet makes sure that all your servers which connect to puppet are in this desired state. This is powerful because you don't have to specify the steps needed to make it to your desired end state (i.e. install package "a", then install package "b" etc...). You simply tell puppet how you want your systems to look/perform and puppet takes care of the steps to get you to that specified end state.
Next time you want to install new package in your machines, you just edit the manifest file to include something like "ensure this package is installed" and puppet will take care of the rest.