hi so at launch, I’ll be running 3 bare metal machines, 1 machine per datacenter, spread across the globe (US West, US East, Europe).
is it possible to simply run a nomad cluster of 1 server and 1 client, and do so with both running on the same machine? thus one of these “mini-clusters” per datacenter.
as i scale i would of course transition to the recommended 3 nomad servers each on their own machines, without any clients, but at the beginning this is simply cost prohibitive… but I would still like to benefit from Nomad, and not have to manually configure and manage my machines and the binaries running on them.
I definitely understand where the impulse to create this configuration comes from, so I wanted to share the biggest risks that you will encounter with this configuration.
You are not fault tolerant whatsoever, so while it will feel like Nomad and you will be able to use it like Nomad, you aren’t receiving the primary of the benefits of Nomad.
a. Drains and rolling upgrades will not work as documented because there is no place to move the active workload to. I have no doubt that you surmised this, but I thought it was worth dropping in for folks who might have not.
If you have to change the IP address of your node (or it could be changed in a restart—less of a concern in a bare-metal situation), you will either have to do peers.json recovery or wipe your state. The IP address is a component of the member ID in the raft data.
Servers are low intensity tasks and can run on rather small nodes if your cluster is not very active. Consider if there is any server capacity that you can scrounge. For a starting cluster, you could likely colocate a Nomad server process with another application—clients less so because of the workload aspect.
I’m excited to hear about you starting your Nomad journey and hope you find it to your liking.
Charlie Voiselle Product Education Engineer, Nomad