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