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 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.