Page History
Follow the instructions below to manually setup your Puppet Master and Puppet Agent environment.
Table of Contents |
---|
Step 1 - Setup two instances
These instances can be either two cloud instances, two physical computer instances, or two local Virtual Machine (VM) instances. You should be able to SSH into both of the instances. Configure one instance as the Puppet Master and the other as Puppet Agent.
Step 2 - Setup Puppet Master and Puppet Agent
Follow the instructions below to initially install and then configure the Puppet Master and Puppet Agent respectively.
2.1. Install Puppet
Puppet Master
Follow the instructions below to install Puppet Master.
- Sign into Puppet Master as the super user.
Issue the following commands. Please refer the inline comments to identify the reason behind executing these commands.
Code Block # Sync time between the Master and the Agent ntpdate pool.ntp.org ; apt-get update && sudo apt-get -y install ntp ; service ntp restart cd /tmp # Download and install the Puppet distribution wget https://apt.puppetlabs.com/puppetlabs-release-trusty.deb dpkg -i puppetlabs-release-trusty.deb apt-get update apt-get install puppetmaster
Check the Puppet version
Code Block puppet -V
The Puppet version should be 3.8.3 or higher.
Edit the
/etc/hostname
file and set the property hostname.Code Block [puppet-master-ip] puppetmaster
Edit your Puppet Master hosts file, which is
/etc/hosts,
as follows and set the Puppet Master hostname.Code Block 127.0.0.1 localhost 127.0.0.1 puppetmaster
Puppet Agent
Follow the instructions below to install Puppet Agent.
- Sign into Puppet Agent as the super user.
Issue the following commands to download and install the Puppet distribution.
Code Block apt-get update apt-get install puppet
Edit the
/etc/hostname
file and set the property hostname.Code Block {host-ip} qaa-node-1
Edit the
/etc/hosts
file of your Puppet Agent.Code Block 127.0.0.1 localhost 192.168.19.XXX puppet # Puppet Master's IP address
2.2. Configure Puppet
Puppet Master
Follow the instructions below to configure the Puppet Master.
- Sign into the Puppet Master as the super user.
- Create the following directory.
/etc/puppet/environments/production
Modify the
/etc/puppet/puppet.conf
file that corresponds to the Puppet Master by appending the following to the[main]
and[master]
sections accordingly.Code Block [main] dns_alt_names=puppetmaster,puppet environmentpath = $confdir/environments hiera_config = /etc/puppet/hiera.yaml [master] autosign=true
Before restarting the Puppet Master, clean all certificates, including Puppet Master’s certificate which has its old DNS
alt
names.Code Block puppet cert clean --all
Restart the Puppet Master for new configuration changes to take effect and to regenerate the certificate with the new
dns_alt_names
.Code Block service puppetmaster restart
Download the Puppet Module Git repository files to a temporary folder.
Code Block git clone https://github.com/wso2/puppet-modules.git <LOCAL_FOLDER_PATH>
Prepare Puppet Modules as follows:
Copy all the modules in
<PUPPET_MODULES_HOME>/modules
directory to the/etc/puppet/environments/production/modules/
directory.Install the Java module from puppetforge.
Code Block puppet module install 7terminals-java
Install the
stdlib
module from puppetforge.Code Block puppet module install puppetlabs-stdlib
Prepare Hieradata.
Copy the
<PUPPET_MODULES_HOME
>/hiera.yaml
file to the/etc/puppet
directory.Edit the
hiera.yaml
file YAML data directory location as follows:Code Block :yaml: :datadir: "/etc/puppet/hieradata/%{::environment}"
Copy the
<PUPPET_MODULES_HOME>/hieradata
folder to the/etc/puppet
directory.Rename the
/etc/puppet/hieradata/dev
directory to the/etc/puppet/hieradata/production
directory.
Prepare the
site.pp
manifest.
Copy the<PUPPET_MODULES_HOME>/manifests/site.pp
file to the/etc/puppet/environments/production/manifests
directory.Prepare the
files/packs.
Copy the pack file (e.g,
wso2am-1.9.1.zip
) into the/etc/puppet/environments/production/modules/wso2am/files
directory.Copy the JDK installation file (e.g.,
jdk-7u79-linux-x64.gz
) into the/etc/puppet/modules/wso2base/files
directory.Add the JDK version (home) and filename information to the
/etc/puppet/hieradata/production/common.yaml
file.- Update the
/etc/puppet/hieradata/production/common.yaml
YAML file with the JDK pack information. Specifically define thejava_install_dir
andjava_source_file
fields.
Puppet Agent
Follow the instructions below to configure the Puppet Agent.
- Sign into the Puppet Agent as the super user.
Modify the
/etc/puppet/puppet.conf
file that corresponds to the Puppet Agent by appending the following to the[main]
section.Code Block [main] server = puppet
Step 3 - Set facters and run Puppet Agent
Follow the instructions below to set Puppet facters and run the Puppet Agent.
...