Nomad v0.5.5 includes a number of exciting new features and improvements:
Distinct Property Constraint - The distinct_property
constraint allows job operators to spread allocations across unique values for a given property. This allows use cases such as spreading allocation across distinct racks in private datacenters to minimize correlated failures.
group "api-server" {
# ...
constraint {
distinct_property = "${meta.rack}"
}
# ...
}
For more information, please see the constraint documentation.
Leader Tasks - The introduction of a leader task simplifies the deployment pattern of having sidecar tasks servicing a single main task. An example is a logging sidecar that ships logs for long-term retention. Now the main task can be annotated as a leader and when it exits, all non-leader tasks will be gracefully shutdown.
group "batch-worker" {
task "worker" {
leader = true
# ...
}
task "log-shipper" {
# ...
}
}
For more information, please see the leader parameter documentation.
Time Zones in Periodic Jobs - Periodic jobs may now specify the time zone their cron specification is applied in. This allows periodic jobs that handle day light savings and leap seconds.
periodic {
cron = "*/15 * * * * *"
time_zone = "America/New_York"
}
For more information, please see the periodic stanza documentation.
Improved Internals and Operator Commands - Nomad now uses the latest version of both HashiCorp's Raft and Serf libraries, which incorporates our Lifeguard enhancements. Operators should look forward to even higher cluster stability and the introduction of a new nomad operator
command for interacting with the Raft subsystem.
In addition to these new features, there are a ton of bug fixes and tiny improvements. Please review the v0.5.5 changelog for a detailed list of changes.
Learn the installation and verification workflow for any Linux distribution that does not include HashiCorp software in its package repository.
Learn how JWT-based authentication works in HashiCorp Nomad using a custom GitHub Action as an example of machine-to-machine authentication.
Managing multiple clusters of HashiCorp tools can be complicated. Target CLI eases the burden by using context profiles to easily switch between different clusters and environments.