HashiCorp Nomad 0.4

HashiCorp Nomad 0.4

Jun 28 2016 Mitchell Hashimoto

We've released Nomad 0.4. Nomad is a distributed, scalable and highly available cluster manager and scheduler designed for both microservice and batch workloads.

Nomad 0.4 ships a number of new features focused on improving the operational aspects of the tool. Highlights include:

Nomad Plan

Scheduler dry-run:

  • All tasks successfully allocated.
  • Rolling update, next evaluation will be in 10s.

Job Modify Index: 7

The output shows the changes to the job (in this case adding a new argument to the command). It shows you that the change in that task is forcing a create/destroy update of the job.

Finally, at the bottom, you can see a "scheduler dry-run." This shows that the job allocated successful and would be deployed as part of a rolling update policy on 10 second intervals.

Nomad plan can be used for new or existing jobs. It will never modify the state of your cluster so it is a safe operation to run. You can read more about nomad plan in the documentation.

Live Resource Utilization

Nomad can now report the actual resource utilization for tasks, nodes, and allocations.

Detailed CPU Stats CPU = cpu0 User = 1.03% System = 0.00% Idle = 98.97%

CPU = cpu1 User = 1.00% System = 2.00% Idle = 93.00%

Detailed Memory Stats Total = 2.1 GB Available = 1.9 GB Used = 227 MB Free = 1.4 GB

Detailed Disk Stats Device = /dev/mapper/ubuntu--1404--vbox--vg-root MountPoint = / Size = 41 GB Used = 3.4 GB Available = 36 GB Used Percent = 8.14% Inodes Percent = 4.94%

All of this data is up to date and can be used by operators to better tune jobs, find poorly behaving applications, etc.

Simpler Clustering

Nomad 0.4 brings two key changes that simplify creating and operating a cluster. Cluster creation is now automatic when using Consul. Nomad servers and clients auto-register services and health checks with Consul and these are then used to discover other Nomad servers. Given a federated Consul deployment, Nomad servers will even automatically federate cross regions!

To improve cluster stability as well as to simplify updating servers, Nomad servers now advertise the full set of Nomad servers to clients via heartbeats. These heartbeats occur roughly every 30 seconds, providing each client with a current view of the Nomad servers in its region. This allows Nomad servers to be immutably upgraded without any configuration change on the clients.

Previously, if you upgraded Nomad servers by bringing up new servers and deprecating the old after Raft replication occured, you would have to update all the client configurations to point to the new server addresses. This upgrade process was burdensome and error prone.

In Nomad 0.4, servers notify clients of the full list of servers and thus allow you to roll the Nomad servers without any configuration change to any client.

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now