I’m flummoxed by what seems like it should be a problem with an obvious solution.
I have a consul cluster with 5 nodes. I want to use
consul snapshot save to back up my state (and the Vault k/v store for which consul is acting as a storage subsystem). I know I can run that command on any one of my nodes locally. But I prefer to run the backup workflow on a purpose-built remote system (say, a container that appears and disappears as needed).
If I set
CONSUL_HTTP_ADDR to any one of the remote node’s addresses, it works (e.g.
CONSUL_HTTP_ADDR=http://FQDN:8500). But I don’t want to hard-code it to a single address. I’d prefer to send it to a load-balanced pool of target addresses for the purpose of high availability.
Is it OK just to cobble together a vanilla load-balancer config for this? The documentation doesn’t seem to mention doing something like that, so I feel like I’m missing a simpler, better approach. This is one of those times when I feel like my question is born of a fundamental misunderstanding of the application’s design.