I’m a beginner and just started learning nomad architecture. I’m unable to understand that from which node( server or client) should we expose the end point of web ui so that end users can push the job using it.
Consider a scenario where we have 3 nomad servers(1 leader/2 followers) and 6 nomad clients then it means at a certain point, 1 out of 3 servers will handle the job creation etc. and client ends are the actual nodes where the specific application will deploy & run.
Question 1) Here, should we expose the web ui from those 3 nomad servers(but not from nomad clients) which in turn connects to a load balancer?
Question 2) If yes, then as per my understanding, job submission is only possible through a server node acting as a leader and in such case, how a round robin load balancer will help here as it can reverse proxy any of the 3 nodes.
Hi @smartaquarius10, I’m excited you’re learning Nomad!
The each server agent will expose the API and UI endpoints, and each server will forward/replicate any requests it receives to the leader. In fact servers can also forward requests to other regions despite not being in the same raft cluster.
To answer your questions:
- Yes, you should expose the web UI from all 3 nomad servers.
- You are correct that only the leader is responsible for job submission, but since all servers will forward/replicate requests, a non-leader can receive a job submission request and inform the leader.
In case you haven’t come across it yet, we have a guide on reverse proxying the UI.
And if you’re interested in learning more about Nomad’s internals, the consensus protocol docs explains how Nomad uses Raft, which covers the forwarding concept at the root of your questions.
@DingoEatingFuzz, Thanks a lot for sharing actually in our organization we already have Big Ip F5 setup. I just have to to create LTM per end point and one GTM for round robin.
My whole team is a big fan of hashicorp products. I have hosted hashicorp consul/vault cluster in the year 2018 which proved to be one of the most stable product we have ever used.
Very excited to use nomad.
Thank you for helping.