Nomad
Federation
Nomad federation is a multi-cluster orchestration and management feature that allows multiple Nomad clusters, defined as a region, to work together seamlessly. By federating clusters, you benefit from improved scalability, fault tolerance, and centralized management of workloads across various data centers or geographical locations.
Cross-Region request forwarding
API calls can include a region
query parameter that defines the Nomad region the query is
specified for. If this is not the local region, Nomad transparently forwards the request to a
server in the requested region. When you omit the query parameter, Nomad uses the region of the
server that is processing the request.
Replication
Nomad writes the following objects in the authoritative region and replicates them to all federated regions:
- ACL policies, roles, auth methods, binding rules, and global tokens
- Namespaces
- Node pools
- Quota specifications
- Sentinel policies
When creating, updating, or deleting these objects, Nomad always sends the request to the authoritative region using RPC forwarding.
Nomad starts replication routines on each federated cluster's leader server in a hub and spoke design. The routines then use blocking queries to receive updates from the authoritative region to mirror in their own state store. These routines also implement rate limiting, so that busy clusters do not degrade due to overly aggressive replication processes.
Note
Nomad writes ACL local tokens in the region where you make the request and does not replicate those local tokens.Multi-Region job deployments Enterprise
Nomad job deployments can use the multiregion
block when running in federated mode.
Multiregion configuration instructs Nomad to register and run the job on all the specified regions,
removing the need for multiple job specification copies and registration on each region.
Multiregion jobs do not provide regional failover in the event of failure.