Nomad

The Nomad orchestrator: servers and clients, the job, group, task hierarchy, drivers, the three job types, the HCL file, nomad job plan and run, evaluation and allocation, and the match with Kubernetes.

  • 27 cards
  • 5 topics
  • Free

The outline, topic by topic

Each topic is weighted the way the exam weighs it.

  1. Concepts
  2. Questions
  3. Sort and link
  4. Scenarios
  5. Understand

A few cards from the deck

  • Job: what is it?

    Show the answer

    The full description of a workload in Nomad, written in an HCL file: its type, its groups and their tasks.

    It is the desired state, like a Kubernetes manifest: you submit it, and Nomad takes care of bringing it to the real state.

  • In a Nomad cluster, what is the role of the servers?

    • Keep the cluster's state and decide placements; the clients run the tasks
    • Run the service jobs; the clients run the batch ones
    • Host the images the clients pull before starting their tasks
    • Spread incoming HTTP traffic across the clients' allocations
    Show the answer

    Keep the cluster's state and decide placements; the clients run the tasks

    The servers (usually three or five, agreeing through consensus) play the part of Kubernetes' control plane: they receive jobs, process evaluations and create allocations. The clients, like nodes, start the tasks through their drivers.

  • A job contains …, which contain …; it is the group, not the task, that is placed on a client.

    Show the answer

    A job contains groups, which contain tasks; it is the group, not the task, that is placed on a client.

    The tasks of a group therefore share the machine, the network and the volumes, like the containers of a single pod.

  • Group (task group): what is it?

    Show the answer

    A set of tasks placed together on the same client, with the number of copies wanted (count).

    It is Nomad's unit of placement, like the pod in Kubernetes: the tasks of a group are never split across two machines.

  • nomad job plan reports Dimension "memory" exhausted on 3 nodes. What are the cause and the fix?

    • The Docker driver is missing from the clients; install it on each one then rerun the plan
    • No client has enough free memory; lower the memory requested or add a client
    • The job is of type batch; switch it to service so that it finally gets placed
    • The Nomad server is short of memory; give the server's machine more of it
    Show the answer

    No client has enough free memory; lower the memory requested or add a client

    The message comes from the placement phase: the three candidate clients are discarded because their unreserved memory is below the group's request. The server runs no task.