6 Nodes

Let’s start building our cluster. You can use either bare-metal machines or virtual machines - the configuration would be the same. To avoid confusion, I’ll be referring to these as “nodes” from now on.

initiallyAtomicPlexSwarmprom

6.1 Ingredients


bare-metal or VMs
tested on either CentOS 7+ or Ubuntu 16.04+

but it’ll be tight
i.e., no WAN links

6.2 Preparation

Permit connectivity

Most modern Linux distributions include firewall rules which only only permit minimal required incoming connections (like SSH). We’ll want to allow all traffic between our nodes. The steps to achieve this in CentOS/Ubuntu are a little different…

CentOS

Add something like this to /etc/sysconfig/iptables:

# Allow all inter-node communication
-A INPUT -s 192.168.31.0/24 -j ACCEPT

And restart iptables with systemctl restart iptables

Ubuntu

Install the (non-default) persistent iptables tools, by running apt-get install iptables-persistent, establishing some default rules (dkpg will prompt you to save current ruleset), and then add something like this to /etc/iptables/rules.v4:

# Allow all inter-node communication
-A INPUT -s 192.168.31.0/24 -j ACCEPT

And refresh your running iptables rules with iptables-restore < /etc/iptables/rules.v4

Enable hostname resolution

Depending on your hosting environment, you may have DNS automatically setup for your VMs. If not, it’s useful to set up static entries in /etc/hosts for the nodes. For example, I setup the following:

192.168.31.11   ds1     ds1.funkypenguin.co.nz
192.168.31.12   ds2     ds2.funkypenguin.co.nz
192.168.31.13   ds3     ds3.funkypenguin.co.nz

Set timezone

Set your local timezone, by running:

ln -sf /usr/share/zoneinfo/<your timezone> /etc/localtime

6.3 Serving

After completing the above, you should have:


bare-metal or VMs
tested on either CentOS 7+ or Ubuntu 16.04+

but it’ll be tight
i.e., no WAN links

6.4 Chef’s Notes