Logo Java

Java DevOps: Development und Delivery mit Docker und Kubernetes (s2122)

Trainings-ID:
JavaDDK

Inhalt des Trainings

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.

Zielgruppen


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

Vorkenntnisse


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

Detail-Inhalte

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.

Downloads

Terminanfrage

Ab  2.665,-*

*Preis pro Teilnehmer*in ohne Zusatzoptionen, exkl. MwSt.

Sie haben Fragen?

Ihr ETC Support

Kontaktieren Sie uns!

+43 1 533 1777-99

Hidden
Hidden
Hidden

Lernformen im Überblick

Mehr darüber