Bitte vor dem Workshop installieren:
| Tool | Version | Installation |
|---|---|---|
| Docker Desktop | >= 4.x | https://docs.docker.com/get-docker/ |
| k3d | >= 5.7 | https://k3d.io/#installation |
| kubectl | >= 1.28 | https://kubernetes.io/docs/tasks/tools/ |
| Helm | >= 3.12 | https://helm.sh/docs/intro/install/ |
| curl | (vorinstalliert) | — |
| openssl | (vorinstalliert) | — |
docker info > /dev/null 2>&1 && echo "Docker: OK" || echo "Docker: FEHLT"
k3d version && echo "k3d: OK"
kubectl version --client --short 2>/dev/null && echo "kubectl: OK"
helm version --short && echo "Helm: OK"- RAM: Mindestens 4 GB frei fuer Docker
- CPU: 4+ Cores empfohlen
- Netzwerk: Internetzugang (fuer Helm Charts und Container Images)
- Lokaler Port 443: Sollte frei sein, wenn du die HTTP→HTTPS Redirect-Demo mit Standard-Port nutzen willst
# Repository klonen
git clone <REPO-URL>
cd cloudland-2026
# Cluster erstellen und NGINX Ingress + Demo-Apps deployen
./setup.shDas Script erledigt automatisch:
- k3d Cluster "cloudland" mit 1 Server + 1 Agent Node
- Demo-Apps deployen (coaster-service, beer-service, httpbin)
- NGINX Ingress Controller installieren
- TLS Zertifikat generieren
- Alle 5 Ingress-Szenarien deployen
# Alle Pods muessen "Running" sein
kubectl get pods -n cloudland
# Schnelltest
curl http://localhost:9080/coasters
curl http://localhost:9080/beer
curl -k https://localhost/Erwartete Ausgabe: JSON mit Achterbahn- bzw. Biergarten-Daten.
Die folgenden Szenarien sind bereits deployed und werden gemeinsam besprochen:
| # | Szenario | Manifest | Test-Kommando |
|---|---|---|---|
| 1 | Path-based Routing | phase1-nginx/01-path-routing.yaml |
curl http://localhost:9080/coasters |
| 2 | Host-based Routing | phase1-nginx/02-host-routing.yaml |
curl http://coaster.127.0.0.1.nip.io:9080/ |
| 3 | TLS Termination | phase1-nginx/03-tls-termination.yaml |
curl -k https://park.127.0.0.1.nip.io:9443/coasters |
| 4 | Rate Limiting | phase1-nginx/04-rate-limiting.yaml |
for i in $(seq 1 5); do curl -s -w "%{http_code}\n" -o /dev/null http://beer-limit.127.0.0.1.nip.io:9080/; done |
| 5 | Header Routing | phase1-nginx/05-header-routing.yaml |
curl -H "X-Thrill-Level: extreme" http://coaster.127.0.0.1.nip.io:9080/ |
Ab hier arbeiten wir gemeinsam! Die Uebungen sind in docs/uebungen.md beschrieben.
Falls du bei einem Schritt nicht mitkommst:
- Musterloesung: Im Ordner
solutions/liegt fuer jeden Schritt die fertige YAML-Datei - Komplettloesung:
solutions/deploy-all.shdeployed alle Kong-Szenarien auf einmal
- Portable Gateway-API-Variante:
solutions/03-tls-termination.yamlRedirectet vonhttp://park.127.0.0.1.nip.io:9080/aufhttps://park.127.0.0.1.nip.io/
./teardown.shSiehe docs/troubleshooting.md fuer haeufige Probleme und Loesungen.