Datum
05/08/2025 - 08/08/2025
Ganztägig
Kalender-Import: iCal

Veranstaltungsort
Virtual-Training (VILT)
Virtual, - Online




Grundlegende Java-Kenntnisse werden vorausgesetzt.

Kenntnisse über Linux und Networking sind hilfreich, werden aber nicht vorausgesetzt.

Dieses Seminar führt zunächst in die Nutzung von Docker und Kubernetes ein. Der Fokus liegt hier auf den für die Entwicklung von containerisierten Java/JEE-Anwendungen wichtigen Werkzeugen, Konzepten und Vorgehensweisen der Container-Umgebung Docker und der Orchestrierungsplattform Kubernetes. Anschließend wird der Aufbau von Build Pipelines für Continuous Delivery/Deployment mit Systemen wie Gitlab-CI oder Jenkins thematisiert, welche das automatisierte Ausrollen der Anwendung in einem Kubernetes-Cluster ermöglichen.

Im Laufe des Kurses erstellen Sie aus Java-SE- und -EE-Anwendungen lauffähige Container-Images, betreiben diese in einem Kubernetes-Cluster und entwickeln eine dazugehörige realistische Build Pipeline für Continuous Delivery. Dabei wird auch auf die Möglichkeiten und Problemstellungen der lokalen Entwicklung eingegangen.

Nach diesem Seminar beherrschen Sie die Grundlagen von Docker und Kubernetes und können Java/JEE-Anwendungen damit betreiben und automatisiert qualitätsgesichert in Kubernetes-Cluster ausrollen.

Entwickler und Teamleiter, die Java/JEE-Anwendungen für Container-Umgebungen entwickeln, in Docker/Kubernetes betreiben und mit Continuous Delivery ausrollen wollen.

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

Continuous Delivery/Deployment

Motivation für Automatisierung

Abgrenzung Continuous Integration, Delivery, Deployment

Überblick unterschiedliche Vorgehensweisen für Deployment

Gitlab

Docker-Build in Container

Deployment in Kubernetes-Cluster

GitOps

– Deployen von Kubernetes-Manifesten aus Git

– Grundlegende Vorgehensweise

– Überblick über Tools

– Argo-CD als Beispiel

– Deployment aus Pipeline

Lokale Entwicklung

Generelle Problemstellung

Entwickeln von lokaler IDE gegen Kubernetes-Cluster

– Einfaches Bereitstellen von Umgebungen für lokales Testen

– Überblick Werkzeuge (Skaffold, DevSpace, Telepresence, …)

– Vorgehensweisen für Java (EE)-Anwendungen

– Möglichkeiten der gängigen Java IDEs

Die Themen werden mit übergreifenden Übungen vertieft. Dabei kommen realistische Beispiele von Java/JEE-Anwendungen zum Einsatz: Standalone-Anwendungen, EE-Anwendungen, Persistenz mit Datenbanken. Darüber hinaus wird eine realistische Pipeline für Continuos Delivery entwickelt.
2.665,00

Kategorien