--Private DNS
ip-10-10-10-10.ec2.internal (Master)
ip-20-20-20-20.ec2.internal (Agent 1)
ip-30-30-30-30.ec2.internal (Agent 2)
ip-40-40-40-40.ec2.internal (Agent 3)
--Create module tomcat
cd /etc/puppetlabs/code/environments/production/modules
mkdir tomcat
--Create manifest folder
cd tomcat
mkdir manifests
--Create init.pp (class name should match the name of the module)
vi init.pp
class tomcat {
}
--Create install.pp
vi install.pp
class tomcat::install {
package{'tomcat8':
ensure => installed
}
package{'tomcat8-admin':
ensure => installed
}
}
--Create start.pp
vi start.pp
class tomcat::start{
service{'tomcat8' :
ensure => running
}
}
--Node assignments
cd /etc/puppetlabs/code/environments/production/manifests
vi tomcat.pp
node 'ip-20-20-20-20.ec2.internal' {
include tomcat::install
include tomcat::start
}
--To run agent "pull" on as needed basis
sudo /opt/puppetlabs/bin/puppet agent --test
--Create config.pp
cd /etc/puppetlabs/code/environments/production/modules/tomcat/manifests
vi config.pp
class tomcat::config {
file { '/etc/tomcat8/tomcat-users.xml':
source => 'puppet:///modules/tomcat/tomcat-users.xml',
owner => 'tomcat8',
group => 'tomcat8',
mode => '0600',
notify => Service['tomcat8']
}
}
--Copy tomcat-users.xml file
--Add config to tomcat.pp
cd /etc/puppetlabs/code/environments/production/manifests
vi tomcat.pp
node 'ip-20-20-20-20.ec2.internal' {
include tomcat::install
include tomcat::config
include tomcat::start
}
The blog covers various articles and posts on Cloud, Big Data Analytics, Data Science, Machine Learning, DevOps, Full Stack Development, Java and Middleware Technologies