gitmyhub

nomad-on-kubernetes

Shell ★ 354 updated 8y ago

Tutorial on running Nomad on Kubernetes.

A step-by-step tutorial showing how to run HashiCorp Nomad inside Kubernetes, so you can manage containerized and non-containerized workloads from one place.

NomadKubernetesConsulVaultShellsetup: hardcomplexity 4/5

Nomad on Kubernetes is a step-by-step tutorial that teaches you how to run Nomad—a workload scheduler from HashiCorp—inside a Kubernetes environment. The main benefit is that it lets you combine two powerful systems so you can manage a wider variety of applications from one place, including older or non-containerized software that Kubernetes alone can't easily handle.

Kubernetes is great at running containerized apps, but Nomad is more flexible and can run almost any type of workload, including things that aren't packaged in containers. By running Nomad on top of Kubernetes, you get the best of both worlds: Kubernetes handles the underlying infrastructure and deployment, while Nomad extends what you can actually run on it. The tutorial also walks through setting up Consul (for service discovery—helping services find each other) and Vault (for managing secrets like passwords and API keys securely).

This project is aimed at platform engineers, DevOps practitioners, or infrastructure teams who already use Kubernetes but need to support workloads that don't fit neatly into the containerized model. For example, if your company has legacy applications running on virtual machines alongside newer Kubernetes-based services, this setup lets you manage both under a unified framework. CircleCI has used a similar approach to process millions of builds per month, as noted in the README.

The tutorial is broken into ten guided steps covering prerequisites, client tool installation, infrastructure provisioning, and cluster setup for Consul, Vault, and Nomad. It's written with cost in mind—using minimal CPU and memory allocations so you can learn without racking up a big cloud bill. A cleanup script is included to tear everything down when you're done. Note that the specific software versions referenced (from 2017) are quite old, so you'd want to verify compatibility with current versions before using this in production.

Where it fits