π Hoofdstuk 30.3: Container Orchestration Engines
ββββββββββββββββββββββββββββββββββββββββββββ
βοΈ Wat is Container Orchestration?
ββββββββββββββββββββββββββββββββββββββββββββ
Automatisch beheren van containerapplicaties:
- Starten
- Schalen
- Herstellen bij fouten
- Load balancing en networking
Vooral belangrijk in productieomgevingen met meerdere containers.
ββββββββββββββββββββββββββββββββββββββββββββ
π’ Kubernetes (k8s)
ββββββββββββββββββββββββββββββββββββββββββββ
πΉ Open source β ontwikkeld door Google
πΉ Zeer schaalbaar en fouttolerant
πΉ Werkt met clusters (groep van nodes)
πΉ YAML-configuratie β gewenste toestand beschrijven
π¦ Begrippen:
- Pod: kleinste eenheid, bevat 1 of meer containers
- Worker node: voert pods uit, bevat kubelet-agent
- Kubelet: agent die communiceert met de control plane
π YAML-bestand β declaratief: wat moet er draaien en hoe?
ββββββββββββββββββββββββββββββββββββββββββββ
π³ Docker Swarm
ββββββββββββββββββββββββββββββββββββββββββββ
πΈ Orchestration speciaal voor Docker
πΈ Simpler alternatief voor Kubernetes
πΈ Minder features, maar sneller op te zetten
πΈ Ideaal voor kleinere omgevingen
ββββββββββββββββββββββββββββββββββββββββββββ
π§ Apache Mesos + Marathon
ββββββββββββββββββββββββββββββββββββββββββββ
πΈ Gedraagt zich als een gedistribueerde kernel
πΈ Vormt abstractielaag bovenop infrastructuur
πΈ In combinatie met Marathon β volwaardige container orchestrator
πΈ Kan ook andere taken beheren:
- Big data jobs
- Niet-containergebaseerde workloads