In this post we are going to use puppet to setup a 4 node API Manager distributed setup. You can find the puppet scripts I used, in this git repo.
NOTE: This blog post can be useful to troubleshoot any issues you get while working with puppet.
In my puppet scripts there are below IPs of the nodes I used. You have to replace them with yours.
Puppet Master/MySQL | : 192.168.57.92 |
Publisher | : 192.168.57.93 |
Store | : 192.168.57.94 |
Key Manager | : 192.168.57.96 |
Gateway | : 192.168.57.97 |
That's just some information. Now let's start setting up each node, one by one.
1) Configure Puppet Master/ MySQL Node
1. Install NTP, Puppet Master and MySQL.
> ntpdate pool.ntp.org ; apt-get update && sudo apt-get -y install ntp ; service ntp restart
> cd /tmp
> wget https://apt.puppetlabs.com/puppetlabs-release-trusty.deb
> dpkg -i puppetlabs-release-trusty.deb
> apt-get update
> apt-get install puppetmaster
> apt-get install mysql-server
2. Change hostname in /etc/hostname to puppet (This might need a reboot)
> cd /tmp
> wget https://apt.puppetlabs.com/puppetlabs-release-trusty.deb
> dpkg -i puppetlabs-release-trusty.deb
> apt-get update
> apt-get install puppetmaster
> apt-get install mysql-server
2. Change hostname in /etc/hostname to puppet (This might need a reboot)
3. Update /etc/hosts with below entry.
127.0.0.1 puppet
4. Download and copy https://github.com/bhathiya/apim-puppet-scripts/tree/master/puppet directory to /etc/puppet
5. Replace IPs in copied puppet scripts.
> puppet cert clean --all
7. Restart puppet master
> service puppetmaster restart
8. Download and copy jdk-7u79-linux-x64.tar.gz to /etc/puppet/environments/production/modules/wso2base/files/jdk-7u79-linux-x64.tar.gz
9. Download and copy wso2am-2.0.0-SNAPSHOT.zip to
/etc/puppet/environments/production/modules/wso2am/files/wso2am-2.0.0-SNAPSHOT.zip
10. Download and copy https://github.com/bhathiya/apim-puppet-scripts/tree/master/db_scripts directory to /opt/db_scripts
11. Unzip wso2am-2.0.0-SNAPSHOT.zip and copy wso2am-2.0.0-SNAPSHOT/dbscripts directory to /opt/db_scripts/dbscripts
11. Unzip wso2am-2.0.0-SNAPSHOT.zip and copy wso2am-2.0.0-SNAPSHOT/dbscripts directory to /opt/db_scripts/dbscripts
12. Download and copy https://github.com/bhathiya/apim-puppet-scripts/tree/master/run_puppet.sh file to /opt/run_puppet.sh (Copy required private keys as well, to ssh to puppet agent nodes)
13. Open and update run_puppet.sh script as required, and set read/execution rights.
> chmod 755 run_puppet.sh
13. Open and update run_puppet.sh script as required, and set read/execution rights.
> chmod 755 run_puppet.sh