10 Worker Queue
Dieses Lab zeigt eine kleine Queue-Architektur mit Redis, Producer-Job, Worker-Deployment, PDB, HPA und NetworkPolicies.
Prüfen
kubectl apply --dry-run=client -f manifests/
Ausführung
kubectl apply -f manifests/
kubectl rollout status deployment/redis -n queue-lab
kubectl rollout status deployment/queue-worker -n queue-lab
kubectl wait --for=condition=complete job/queue-producer -n queue-lab --timeout=120s
kubectl logs -n queue-lab job/queue-producer
kubectl logs -n queue-lab deployment/queue-worker --tail=20
Skalieren und Queue erneut befüllen:
kubectl scale deployment queue-worker -n queue-lab --replicas=4
kubectl create job queue-producer-again --from=job/queue-producer -n queue-lab
kubectl logs -n queue-lab deployment/queue-worker --tail=50
Lernpunkte
- Producer und Worker sind entkoppelt.
- Redis ist hier bewusst nur die einfache Queue-Komponente, keine produktive HA-Datenbank.
- Worker lassen sich horizontal skalieren.
- HPA benötigt den Metrics Server.
- NetworkPolicies erlauben nur Producer/Worker-Traffic zu Redis.
Cleanup
kubectl delete namespace queue-lab