Das unterschätzte Kubernetes-Alternative
Wenn Entwickler über Container-Orchestrierung sprechen, denken die meisten sofort an Kubernetes. Nomad von HashiCorp führt ein Schattendasein – zu Unrecht. Für bestimmte Anwendungsfälle ist Nomad die elegantere Lösung.
Nomad: Einfachheit und Flexibilität
Nomad ist ein Workload-Scheduler, kein reiner Container-Orchestrator. Das ist ein wichtiger Unterschied: Nomad kann Docker-Container, aber auch Java-Anwendungen, Binaries und sogar VMs orchestrieren.
Stärken:
- Einfache Architektur: Ein Binary, kein komplexes Control-Plane-Setup
- Workload-Flexibilität: Docker, Podman, Java, Raw Exec, VMs
- HashiCorp-Integration: Natürlich kompatibel mit Vault, Consul, Terraform
- Geringer Ressourcenbedarf: Nomad-Agents sind deutlich leichtgewichtiger
- Multi-Cloud: Einfaches Federated Deployment über mehrere Regionen
- Lernkurve: Deutlich flacher als Kubernetes
Schwächen:
- Kein eingebautes Service Mesh (braucht Consul)
- Kleineres Ecosystem als Kubernetes
- Weniger fertige Lösungen (keine Helm-Äquivalente)
- Ingress-Controller nicht so ausgereift wie in Kubernetes
Kubernetes: Der Feature-reiche Standard
Kubernetes hat durch sein riesiges Ecosystem die Container-Orchestrierung standardisiert. Helm, ArgoCD, Prometheus-Operator, Cert-Manager – das Kubernetes-Ecosystem ist enorm.
Was Kubernetes besser macht:
- Service Mesh (Istio, Linkerd) für granulare Traffic-Kontrolle
- Riesiges Helm-Ecosystem für fertige Applikationen
- RBAC mit feingranularen Berechtigungen
- Network Policies für Pod-zu-Pod-Sicherheit
- Horizontal Pod Autoscaling
Die Kernfrage: Workload-Vielfalt
Der entscheidende Vorteil von Nomad ist die Workload-Vielfalt. Wer neben Docker-Containern auch Java-Prozesse, Go-Binaries oder Legacy-Anwendungen orchestrieren will, ist mit Nomad flexibler.
| Workload-Typ | Kubernetes | Nomad |
|---|---|---|
| Docker-Container | ✓ | ✓ |
| Raw Binaries | ✗ | ✓ |
| Java-Apps | Umständlich | ✓ |
| VMs | Via KubeVirt | Nativ |
| Batch-Jobs | ✓ | ✓ |
Fazit
Kubernetes bleibt für die meisten Teams die richtige Wahl – das Ecosystem und die Verbreitung sind unerreicht. Nomad lohnt sich, wenn man:
- Heterogene Workloads (keine reinen Container) orchestrieren will
- Bereits den HashiCorp-Stack (Vault, Consul) nutzt
- Weniger Ops-Overhead will als mit Kubernetes
Für mein Kubernetes-Setup nutze ich k3s – die leichtgewichtige Distribution, die viele der Nomad-Vorteile in den Kubernetes-Kontext bringt.