User:Renich/HowTo/Puppet

From FedoraProject

< User:Renich | HowTo(Difference between revisions)
Jump to: navigation, search
(transclusion of the howto)
(added how to category)
 
(3 intermediate revisions by one user not shown)
Line 1: Line 1:
{{:Template:HowTo}}
+
{{TOClimit|3}}
 +
 
 +
== Description ==
 +
A simple Puppet installation HowTo.
 +
 
 +
The following assumptions have been made:
 +
* server: puppetmaster.exmaple.tld
 +
* client: puppet1.example.tld
 +
 
 +
== Applicable to Fedora Versions ==
 +
* Fedora 14
 +
* Fedora 15
 +
 
 +
== Requirements ==
 +
* ruby
 +
 
 +
=== Server requirements ===
 +
* puppet-server
 +
 
 +
=== These are the client's requirements ===
 +
* puppet
 +
* facter
 +
 
 +
If you don't have a DNS server resolving the hostnames, add them to /etc/hosts
 +
 
 +
* Server <code>/etc/hosts</code>
 +
<pre>
 +
127.0.0.1      localhost localhost.localdomain localhost4 localhost4.localdomain4
 +
::1            localhost localhost.localdomain localhost6 localhost6.localdomain6
 +
 
 +
127.0.0.1      puppetmaster.example.tld
 +
192.168.1.100  puppet1.example.tld
 +
</pre>
 +
 
 +
* Client <code>/etc/hosts</code>
 +
<pre>
 +
127.0.0.1      localhost localhost.localdomain localhost4 localhost4.localdomain4
 +
::1            localhost localhost.localdomain localhost6 localhost6.localdomain6
 +
 
 +
127.0.0.1      puppet1.example.tld
 +
192.168.1.1    puppetmaster.example.tld
 +
</pre>
 +
 
 +
== Doing the Work ==
 +
* Open up the firewall
 +
<pre>su -c 'lokkit --high -p 8140:tcp'</pre>
 +
 
 +
=== Configuring the server (phase 1) ===
 +
* Install ruby and puppet-server
 +
<pre>su -c 'yum -y install ruby puppet-server'</pre>
 +
 
 +
* Start puppetmaster
 +
<pre>su -c 'service puppetmaster start'</pre>
 +
 
 +
* Enable it permanently
 +
<pre>su -c 'chkconfig puppetmaster on'</pre>
 +
 
 +
=== Configuring clients ===
 +
* Install ruby and puppet
 +
<pre>su -c 'yum -y install ruby puppet'</pre>
 +
 
 +
* Configure puppet by editing /etc/sysconfig/puppet
 +
<pre>
 +
# The puppetmaster server
 +
PUPPET_SERVER=puppetmaster.example.tld
 +
 
 +
# If you wish to specify the port to connect to do so here
 +
PUPPET_PORT=8140
 +
 
 +
# Where to log to. Specify syslog to send log messages to the system log.
 +
PUPPET_LOG=/var/log/puppet/puppet.log
 +
 
 +
# You may specify other parameters to the puppet client here
 +
PUPPET_EXTRA_OPTS=--waitforcert=60
 +
</pre>
 +
 
 +
* Start puppet
 +
<pre>su -c 'service puppet start'</pre>
 +
 
 +
* Enable it permanently
 +
<pre>su -c 'chkconfig puppet on'</pre>
 +
 
 +
=== Configuring the server (phase 2) ===
 +
* The puppet client has made a request for an autograph; verify it
 +
<pre>su -c 'puppetca --list'</pre>
 +
 
 +
* If the information is coherent and proper, sign away
 +
<pre>su -c 'puppetca -s puppet1.example.tld'</pre>
 +
 
 +
 
 +
== How to test ==
 +
<pending>
 +
 
 +
== Troubleshooting ==
 +
* Conectivity: be sure that puppetmaster responds to ping from the client and vise-versa.
 +
* Firewall: Both; server and client, need port 8140:tcp open.
 +
 
 +
== More Information ==
 +
<pending>
 +
 
 +
== Disclaimer ==
 +
We take great effort on making this article flawless. Sometimes, we can't test every scenario. Please, contribute to this page's [[{{TALKPAGENAME}}|Talk page]] if you feel some corrections need to be made.
 +
 
 +
== Added Reading ==
 +
# http://docs.puppetlabs.com/guides/setting_up.html
 +
 
 +
[[Category: How to]]

Latest revision as of 08:54, 3 June 2011

[edit] Description

A simple Puppet installation HowTo.

The following assumptions have been made:

  • server: puppetmaster.exmaple.tld
  • client: puppet1.example.tld

[edit] Applicable to Fedora Versions

  • Fedora 14
  • Fedora 15

[edit] Requirements

  • ruby

[edit] Server requirements

  • puppet-server

[edit] These are the client's requirements

  • puppet
  • facter

If you don't have a DNS server resolving the hostnames, add them to /etc/hosts

  • Server /etc/hosts
127.0.0.1       localhost localhost.localdomain localhost4 localhost4.localdomain4
::1             localhost localhost.localdomain localhost6 localhost6.localdomain6

127.0.0.1       puppetmaster.example.tld
192.168.1.100   puppet1.example.tld
  • Client /etc/hosts
127.0.0.1       localhost localhost.localdomain localhost4 localhost4.localdomain4
::1             localhost localhost.localdomain localhost6 localhost6.localdomain6

127.0.0.1       puppet1.example.tld
192.168.1.1     puppetmaster.example.tld

[edit] Doing the Work

  • Open up the firewall
su -c 'lokkit --high -p 8140:tcp'

[edit] Configuring the server (phase 1)

  • Install ruby and puppet-server
su -c 'yum -y install ruby puppet-server'
  • Start puppetmaster
su -c 'service puppetmaster start'
  • Enable it permanently
su -c 'chkconfig puppetmaster on'

[edit] Configuring clients

  • Install ruby and puppet
su -c 'yum -y install ruby puppet'
  • Configure puppet by editing /etc/sysconfig/puppet
# The puppetmaster server
PUPPET_SERVER=puppetmaster.example.tld

# If you wish to specify the port to connect to do so here
PUPPET_PORT=8140

# Where to log to. Specify syslog to send log messages to the system log.
PUPPET_LOG=/var/log/puppet/puppet.log

# You may specify other parameters to the puppet client here
PUPPET_EXTRA_OPTS=--waitforcert=60
  • Start puppet
su -c 'service puppet start'
  • Enable it permanently
su -c 'chkconfig puppet on'

[edit] Configuring the server (phase 2)

  • The puppet client has made a request for an autograph; verify it
su -c 'puppetca --list'
  • If the information is coherent and proper, sign away
su -c 'puppetca -s puppet1.example.tld'


[edit] How to test

<pending>

[edit] Troubleshooting

  • Conectivity: be sure that puppetmaster responds to ping from the client and vise-versa.
  • Firewall: Both; server and client, need port 8140:tcp open.

[edit] More Information

<pending>

[edit] Disclaimer

We take great effort on making this article flawless. Sometimes, we can't test every scenario. Please, contribute to this page's Talk page if you feel some corrections need to be made.

[edit] Added Reading

  1. http://docs.puppetlabs.com/guides/setting_up.html