Skip to content

Hashicorp cluster

Index page about my hashicorp based cluster of machines

Useful yet? Nope.

01 consul setup

As my hardware has multiple IPv4 addresses, the following need setting:

bind_addr = "{{ ansible_default_ipv4.address }}"
client_addr = "127.0.0.1 {{ ansible_default_ipv4.address }}"

which typically results in something like:

Changes required to Consul config file:

addresses = {
   dns = "127.0.0.1 {{ ansible_default_ipv4.address }}"
   http = "127.0.0.1 {{ ansible_default_ipv4.address }}"
   grpc = "127.0.0.1 {{ ansible_default_ipv4.address }}"
   }

so dns, http are available locally to consul, and across the network (http for GUI / human interface)

This allows consul (& nomad) to connect locally

Configure network-wide DNS server (Pi.Hole in this instance - so, DNSMasq), to conditionally forward

.consul

TLD to Consul servers:

server=/consul/192.168.1.30#8600
server=/consul/192.168.1.31#8600
server=/consul/192.168.1.32#8600
server=/consul/192.168.1.33#8600