https://github.com/allaman/hands-on-nomad
Hands-on Nomad a "... simple and flexible scheduler and orchestrator for managing containers and non-containerized applications ..."
https://github.com/allaman/hands-on-nomad
cluster devops hands-on nomad
Last synced: 14 days ago
JSON representation
Hands-on Nomad a "... simple and flexible scheduler and orchestrator for managing containers and non-containerized applications ..."
- Host: GitHub
- URL: https://github.com/allaman/hands-on-nomad
- Owner: Allaman
- License: mit
- Created: 2023-08-15T18:00:26.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-08-15T18:45:30.000Z (over 2 years ago)
- Last Synced: 2025-11-15T16:00:22.447Z (5 months ago)
- Topics: cluster, devops, hands-on, nomad
- Language: HCL
- Homepage: https://rootknecht.net/blog/hands-on-nomad/
- Size: 6.84 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Hands-on Nomad
Source files for my [Hands-on Nomad](https://rootknecht.net/blog/hands-on-nomad/) blog post.
## Install Nomad on a single node
[bootstrap.sh](./bootstrap.sh) (tested on Debian 11 server) installs Nomad, Docker, and OpenJDK for the example workloads.
Add a file `.envrc` with the following content:
```
export NOMAD_TOKEN=
export NOMAD_ADDR=
```
This is not a production-ready setup!
## Deploy example workloads
- `make hello`: Deploy a dockerized hello world app (3 instances).
- `make traefik`: Deploy Traefik as Proxy/LB.
- `make blueprint`: Deploy [ralfhecktor/architecture-blueprint](https://github.com/ralfhecktor/architecture-blueprint) (JVM based workload) in namespace dev and also create a policy and token with restricted permissions.
If you deploy all workloads the following URLs are exposed:
- `http:///hello` - hello world with default load balancing
- `http:///blueprint` - blueprint app
- `http:///dashboard` - Traefik dashboard (`admin:admin`)
## Misc
- `make anonymous`: Allow anonymous full access to the cluster (⚠️)
- `make status`: Status of your workloads
- `make ui`: Open Nomad UI in your default browser