Eckdaten
Zielgruppe: Softwareentwickler*innen und -architekt*innen, Projektleiter*innen | Dauer: 3 Tage | 9:00–17:00 Uhr | Trainer: GEDOPLAN GmbH | Online-Workshop | Teilnehmerzahl: 4-12
Seminarbeschreibung
Dieses Seminar führt in die Nutzung von Docker und Kubernetes ein. Der Fokus liegt auf den für die Entwicklung von containerisierten Java/JEE- Anwendungen wichtigen Werkzeugen, Konzepten und Vorgehensweisen der Container-Umgebung Docker und der Orchestrierungsplattform Kubernetes. Im Laufe des Kurses werden aus Java-SE- und -EE-Anwendungen, lauffähige Container-Images erstellt, wird statuslos oder mit Datenbank- Persistenz ein Kubernetes-Cluster betrieben und die diversen Verwaltungs- und Skalierungsmöglichkeiten der Zielumgebung genutzt.
Die Schulung findet in deutscher Sprache als Online-Schulung über eine Videokonferenz-Software im Webbrowser statt. Nach Abschluss des Kurses wird eine Teilnahmebescheinigung ausgegeben.
Agenda
Docker
- Motivation für den Einsatz von Container-Images
- Gegenüberstellung virtuelle Maschine vs. Container
- Begrifflichkeiten
- Image
- Registry
- Container
- Docker-Kommando
- Docker-Images laden, verwalten, starten
- Port-Mapping
- Logs einsehen
- Kommandos im Container ausführen
- Image-Erstellung
- Dockerfiles
- Java/JEE-Anwendung in Image packen
- Eigene Basisimages erstellen, bspw. für provisionierte EE-Server
- Multi-Stage-Builds zur Optimierung der Image-Größe nutzen
- Volumes einrichten und nutzen
- Registrys 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. Dabei kommen realistische Beispiele von Java/JEE-Anwendungen zum Einsatz: Standalone- Anwendungen, EE-Anwendungen, Persistenz mit Datenbanken.