A simple and flexible scheduler and workload orchestrator to deploy and manage containers and non-containerized applications across on-prem and clouds at scale.
Both kubernetes and nomad support similar core use cases for application deployment and management, but they differ in a few key ways. Kubernetes aims to provide all the features needed to run Linux container-based applications including cluster management, scheduling, service discovery, monitoring, secrets management and more. Nomad only aims to focus on cluster management and scheduling and is designed with the Unix philosophy of having a small scope while composing with tools like Consul for service discovery/service mesh and Vault for secret management.
nomad architecture
vagrant
A tool for quickly creating virtual machines based on a spec file. It's also made by hashicorp so it works well for quickly creating a nomad development environment.
curl -O https://raw.githubusercontent.com/hashicorp/nomad/master/demo/vagrant/Vagrantfile
You'll need to tweak the base image to generic/ubuntu1804 in this vagrant file
if you're using kvm.
cli
Start the nomad agent in dev mode, bind 0.0.0.0 and show all logs:
sudo nomad agent -dev -bind 0.0.0.0 -log-level INFO
Node status:
nomad node status
Show members of the gossip ring:
nomad server members