conference logo

Playlist "FrOSCon 2019"

Kubernetes 101

Oleg Fiksel, Michael Siebertz and Sean

Kubernetes hat sich als Standard für die Orchestrierung von Docker-Containern etabliert und den Kampf gegen Swarm gewonnen. Der große Vorteil von Kubernetes als Container Orchestrierungswerkzeug ist die Verbesserung der Verfügbarkeit und Stabilität von verteilten Anwendungen durch die dynamische Verteilung der Container.

Beginnen werden wir beim Einstieg in die Container Welt mit der Erläuterung verschiedener Grundbegriffe. Docker ist ein Containerbasiertes System, welches weitere Ebenen der Abstraktion im Vergleich zu virtuellen Maschinen zur Verfügung stellt. In Containern läuft jedoch nicht mehr die komplette OS Umgebung, sondern nur die für die Ausführung von Applikationen benötigten Daten. Container bestehten aus einer Reihe von Layern. Wie diese zustande kommen ist Teil eines Dockerfile, welches wir besprechen werden.

Basierend hierauf steigen wir in die Kubernetes Welt ein. Kubernets hat sich als Standard für die Orchestrierung von Docker-Containern etabliert. Zuerst werden wir dort die häufig verwendeten Objekte kennen lernen und wie diese zusammenarbeiten:
1. Pods
2. Deployments
3. Services
4. Secrets/Configmaps
5. PVC/PV

Die für den Betrieb eines Kubernetes Clusters benötigten Komponenten und deren Verteilung werden anschließend vorgestellt. Als einen besonderen Punkt wenden wir uns dem Thema HA im Cluster zu und versuchen Single Points of Failures im Cluster zu vermeiden. Sicherheitsaspekte spielen Im Bereich Enterprise eine wichtige Rolle. Hierzu werden wir uns RBAC, Namespaces und Isolated Pods anschauen.

Nach dem theoretischen Teil analysieren wir, wie wir eine Anwendung in unser Cluster deployen können und diesen Deploymentprozess nachverfolgen und debuggen können. Hierbei werden wir sowohl die Kubernetes CLI als auch das Kubernetes Dashboard kennen lernen. Als Start werden wir das Tool Minikube nutzen, welches auf einem lokalen Rechner ein Single-Node Kubernetes deployed, was für die Entwicklung von Anwendungen ein optimales Spielfeld bietet.
Weitere Themen werden der Package Manager Helm, die Container-Plattform OpenShift und Deployment Pipelines bilden, welche wir schon im praktischen Einsatz haben.
Als kleines Schmankerl bietet sich im letzten Teil des Talks an über das Thema Monitoring von Kubernetes zu referrieren.

Der Talk wird sich maßgeblich auf das Verständnis der Architektur und deren Komponenten fokussieren. Es werden Möglichkeiten und Tools aufgezeigt welche das Setup eines Kubernetes Clusters maßgeblich vereinfach können, ohne im Detail diese während des Workshops auszuführen.