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 Screencasts

Unit Screencast (YouTube) Slides
05.1 Scheduling PDF, PPTX
05.2 Orchestrierung PDF, PPTX
05.3 Kubernetes, Teil I (Architektur, Ressourcen) PDF, PPTX
05.4 Kubernetes, Teil II (Scheduling, Health Checking) PDF, PPTX
05.5 Kubernetes, Teil III (Workloadarten) PDF, PPTX
05.6 Kubernetes, Teil IV (Services, Persistenz und Isolation) PDF, PPTX

Labs

Inhalte Downloads
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 IDEs

Zur besseren Interaktion mit Kubernetes haben sich Desktop- und Web-basierte Entwicklungsumgebungen etabliert. Hier ein paar Beispiele:

Kubernetes IDE Anbieter Einsatzzweck
Aptakube Sumbit Labs Kubernetes Desktop UI
Headlamp Headlamp Authors Kubernetes Web UI
K9s Imhotep Software Kubernetes CLI
Lens Mirantis Kubernetes Desktop UI
Octant VMware Kubernetes Web Interface
OpenLens Lens Team Kubernetes Desktop UI, Open Source Version von Lens

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 weiterer 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
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.