Puppet is an opensource configuration management tool.
It is written in Ruby & released under GPL until version 2.
7.0 then Apache 2.
0 license after that.
It is supported by various Linux flavors, unix like os & windows. It operates in a client-server fashion.
In puppet, everything which it can handle will be mentioned in understandable language. This declarative language is called Domain Specific Language(DSL) or Ruby DSL.
Puppet is a good companion for the system administrators (Sys Admins).
It will be pretty handy while configuring many systems/desktops/servers.
Suppose we need to have some 100 machines configured with LAMP(Linux-Apache-MySQL-PHP).
Here, installing everything manually might kill the time/day/mood of a system administrator.
In this situation puppet can be a savior for the Sys Admins.
By configuring a single PC as server & adding all other PC's (whatever they are) as clients the above mentioned (LAMP) thing can be easily achieved.
Here, in this article I will be covering a basic idea about the Master-Client configuration.
Actually, explaining all/every/half the aspects of puppet is a very very difficult task.
So, we will have a brief introduction only.
Also, i will be covering the installation/configuration on Ubuntu PC's only.
It will be slightly different on other flavors of linux, even though the basic idea is the same.
Installing Puppet on Ubuntu
sudo apt-get update
sudo apt-get install puppetmaster (This will install master on machine A)
sudo apt-get install puppet (This will install client on machine B)
Once this done, we need to install connectivity between the two PC's A & B (master & client).
Prior to that, we have to make sure that both puppetmaster & client can resolve each other's name.
For that we have to add the corresponding entries in the file /etc/hosts.
On master
sudo vim /etc/hosts
Now append the following entries,
192.
168.1.
15 puppetclient.
example.
com (edit it accordingly)
On client
sudo vim /etc/hosts
Now append the following entries,
192.
168.
1.
10 puppetmaster.example.
com (edit it accordingly)
Now, issue the following command from client ( machine B)
puppetd -server puppetmaster.example.com -waitforcert 60 -test
You will see some information appearing on the screen. It will be like,
info: Creating a new certificate request for puppetclient.
example.
com
warning: peer certificate won't be verified in this SSL session
notice: Did not receive certificate
At the moment, you can ignore this one.
On machine A, as root user, type the following command
puppetca -list
If the connectivity is established properly, you can see the certificate request from puppetclient.
Now, we need to sign the certificate from puppetclient to implement the proper connectivity.
for this, from puppetmaster, run the following command,
puppetca -sign puppetclient.
example.com
Now, the client-server connection is established in a secure/proper manner.
If you want to start the client on system boot itself, do the following,
vim /etc/default/puppet
START=yes (By default it will be 'NO')
No comments:
Post a Comment