First steps with HashiCorp Nomad


Bicycle

Nomad is HashiCorp’s alternative to Kubernetes. Kubernetes is a container-only orchestrator with a half-dozen interoperating services included. It is fair to say, that the architecture of Kubernetes is a complex one.

The HashiCorp logo and Nomad are trademarks of HashiCorp.

HashiCorp Nomad takes a different approach. It provides orchestration of containers and virtual machines. The goal is to provide a way clearer architecture, simpler usability and therefore improved maintainability. If you need additional functionality like service discovery or secret management, you simply combine Nomad with other HashiCorp products like Consul or Vault. On its own, Nomad tries to keep things as simple as possible.

Nomad vs Kubernetes. Image copyright by HashiCorp.

The whole functionality of Nomad is contained in a single binary. All you need to do, to install Nomad on a machine, is to download the Nomad binary. No complex setup scripts required!

Nomad then accepts commands to run "jobs". A Nomad job is a specification provided by the user that declares a workload for Nomad. It states what container or VM should be run, how it should be exposed to the network, how much resources should be assigned etc. Nomad is then responsible to run this job for us.

Here is an example job specification for a dockerised web application:

 1job "demo" {
 2  datacenters = ["dc1"]
 3  type = "service"
 4
 5  group "web" {
 6    count = 1
 7
 8    network {
 9      port "http" {
10        to = 80
11      }
12    }
13
14    task "nginx" {
15      driver = "docker"
16
17      config {
18        image = "nginxdemos/hello:latest"
19        ports = ["http"]
20      }
21
22      resources {
23        cpu    = 100
24        memory = 128
25      }
26    }
27
28  }
29}

One of the biggest advantages of Nomad, compared to Kubernetes, is its hybrid cloud approach. As Nomad can orchestrate containers AND VMs, it can be integrated in your local datacenter and with multiple public cloud providers at the same time. Giving you not only the best of both worlds, but the best from ALL the worlds.

If you want to see a simple Nomad cluster in action, feel free to checkout the following video. I am going through installing Nomad, running a Nomad server and client, creating a simple web application job and running it on a Nomad cluster:

Go Back explore our courses

We are here for you

You are interested in our courses or you simply have a question that needs answering? You can contact us at anytime! We will do our best to answer all your questions.

Contact us