Zum Inhalt

Kapitel 9
Container-Plattformen

Orchestrierung beruht auf der Formulierung von gewünschten Betriebszuständen und Abhängigkeiten zwischen den Betriebskomponenten einer Anwendung mittels sogenannter Blueprints. Ein Blueprint beschreibt somit die Betriebskomponenten (zumeist Container), deren Betriebsanforderungen (z.B. Bedarf an RAM, CPU-Anteilen) sowie die angebotenen und benötigten Schnittstellen. Der Cluster-Orchestrierer übersetzt diese dann in Steuerungsaktivitäten. Diese Steuerungsaktivitäten werden dabei durch einen Regelkreis ausgelöst, der kontinuierlich den Desired State mit dem Current State von Betriebskomponenten im Sinne einer kontinuierlichen Feedback-Schleife vergleicht.

Die verbreiteste so arbeitende Orchestrierungs-Plattform ist Kubernetes, die unter anderem auf den jahrzehntelangen Erfahrungen von Google beim Betrieb von Container Management Plattformen beruht.

Slides und Labs

Inhalte Downloads
Slides
Unit 05
Container Orchestrierung
  • Scheduling (Scheduling Algorithmen, Scheduling Architekturen, Beispiele: Mesos, Swarm)
  • Orchestrierung (Abgrenzung zum Scheduling, Blueprints, Orchestrierungspatterns, Produktüberblick)
  • Typvertreter Kubernetes (Architektur, Ressourcen, unterstützte Workloadarten, Persistenz, Isolation und Exponieren von Services)
PDF
PPTX
Demo Blueprints
  • Docker Compose
  • am Bsp. von Wordpress
Git
Demo Kubernetes Blueprints
  • REST-basierter Greeter Service
  • Deployment
  • Service
  • Persistent Volume Claim
Git
Lab 06 Übungen zu Kubernetes
  • Deployment eines einfachen Service zur Primzahlbestimmung
  • Ergänzung eines In-Memory Caches (Redis)
  • Erweiterung zu einem persistenten Cache
  • Skalierung und Chaos Engineering
Git

Container Plattformen

Neben Kubernetes gibt es weitere Container Plattformen. Die Aufstellung ist alphabetisch und ohne Anspruch auf Vollständigkeit.

Container Plattform Anbieter Anmerkungen
Docker Swarm Docker
Kubernetes CNCF Von Google initiiert
Mesos Apache

Anmerkungen sowie Ergänzungsvorschläge werden gerne über folgenden Kanal angenommen und berücksichtigt.

Kubernetes Distributionen

Kubernetes hat sich als De-Facto-Standard im Bereich der Container Orchestrierung durchgesetzt. Ähnlich wie bei Linux gibt es aber nicht DAS Kubernetes. Vielmehr gibt es eine Vielzahl an Distributionen mit teilweise zueinander inkompatiblen Erweiterungen. Die Aufstellung ist alphabetisch und ohne Anspruch auf Vollständigkeit.

Kubernetes Distribution Anbieter Anmerkungen
Anthos Google
Charmed Kubernetes Canonical
Cloud Foundry Cloud Foundry
K3s Rancher Leichtgewichtige Distribution (Edge Machine)
Kubesphere Kubesphere
MicroK8s Canonical Leichtgewichtige Distribution (Multi Machine)
Minikube Kubernetes Leichtgewichtige Distribution (Single Machine)
OpenShift Red Hat
Tanzu VMWare vSphere Infrastrukturen
Rancher 2 Rancher Automatisiertes Deployment von Kubernetes Clustern
SUSE Rancher Suse Kubernetes-Verwaltung für mehrere Cluster

Anmerkungen sowie Ergänzungsvorschläge werden gerne über folgenden Kanal angenommen und berücksichtigt.

Kubernetes Tools

Rund um Kubernetes hat sich ein reiches Ökosystem an vielfältigen Tools gebildet. Eine sehr umfangreiche Liste findet sich hier. Die folgende Aufstellung umfasst nur eine minimale Auswahl hilfreicher Tools.

Kubernetes Tools Anbieter Einsatzzweck
Keel AppScension Auto-Updates von Helm-, DaemonSet-, StatefulSet- und Deployment- Installationen
kubeadm Kubernetes Kommandozeilenprogramm zur Installation und Konfiguration von Kubernetes Clustern
kubectl Kubernetes Kommandozeilenprogramm zur Steuerung von Kubernetes
krew Kubernetes SIGS Plugin Manager zur Installation von mehr als 150 kubectl Plugins
kudo kudobuilder KUDO ist ein Toolkit, mit dem sich Kubernetes-Operatoren einfach erstellen und ausführen lassen
Lens Mirantis Kubernetes UI/IDE
helm Linux Foundation Package Manager
kiosk Loft Labs Multi-Tenancy Erweiterung
Starboard Aquasecurity Security Erweiterungen

Anmerkungen sowie Ergänzungsvorschläge werden gerne über folgenden Kanal angenommen und berücksichtigt.