Schulung: Docker und Kubernetes für Spring-Boot-Entwickelnde
Kompakte Einführung in die Entwicklung und den Betrieb containerbasierter Spring-Boot-Anwendungen
- Kompakter Kurs mit allem Wesentlichen über Docker und Kubernetes aus Sicht der Softwareentwicklung mit Spring Boot
- Umfangreiche Demos und Übungsanteile
- Die Teilnehmenden nutzen eine persönliche Docker/Kubernetes-Umgebung, die auch nach dem Kurs noch zur Verfügung steht
Dieses Seminar führt in die Nutzung von Docker und Kubernetes ein. Der Fokus liegt auf den für die Entwicklung von containerisierten Spring-Boot-Anwendungen wichtigen Werkzeugen, Konzepten und Vorgehensweisen der Container-Umgebung Docker und der Orchestrierungsplattform Kubernetes. Im Laufe des Kurses erstellen Sie aus Java- und Spring-Boot-Anwendungen lauffähige Container-Images, betreiben sie zustandslos oder mit Datenbank-Persistenz in einem Kubernetes-Cluster und nutzen die diversen Verwaltungs- und Skalierungsmöglichkeiten der Zielumgebung.
Docker
- Motivation für den Einsatz von Container-Images
- Gegenüberstellung virtuelle Maschine vs. Container
- Begrifflichkeiten
- Image
- Registry
- Container
- Docker-Kommandos
- Docker-Images laden, verwalten, starten
- Port-Mapping
- Logs einsehen
- Kommandos im Container ausführen
- Image-Erstellung
- Dockerfiles
- Spring-Boot-Anwendungen in Images packen
- Eigene Basisimages erstellen
- Multi-Stage-Builds zur Optimierung der Image-Größe nutzen
- Volumes einrichten und nutzen
- Registries einsetzen
Kubernetes
- Motivation für die Orchestrierung von Containern mit Kubernetes
- Grundsätzlicher Aufbau der Plattform
- Deklarativer Ansatz
- YAML-Files zur Beschreibung von Kubernetes-Objekten
- Building Blocks von Kubernetes
- Pod
- Deployment, Replica Set
- Service
- Volume, Volume Claim, Persistent Volume Claim, Storage Provider
- NodePort, Loadbalancer und Ingress
- Namespace
- Secret
- Config Map
- Stateful Set
- Job
- Vorbereitung und Überwachung
- Init Container
- Readiness und Liveness Probe
Die Themen werden mit übergreifenden Übungen vertieft. Es werden realistische Beispiele von Spring-Boot-Anwendungen verwendet: Standalone-Anwendungen, Spring-Boot-Anwendungen sowie die Integration von Persistenzlösungen mit Datenbanken.
Dieser Kurs richtet sich an Software-Entwickelnde, Projektleitende und Architekt:innen, die Spring-Boot-Anwendungen für Container-Umgebungen entwickeln und in Docker/Kubernetes betreiben wollen.
Grundlegende Java-Kenntnisse werden vorausgesetzt. Kenntnisse über Linux und Networking sind hilfreich, aber nicht zwingend notwendig.