Beschreibung
Java DevOps: Development und Delivery mit Docker und Kubernetes
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.
Kommende Starttermine
Wählen Sie aus 5 verfügbaren Startterminen
Inhalte / Module
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
- 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
- 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
- Deployment aus Pipeline
- 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
Zielgruppe / Voraussetzungen
Abschlussqualifikation / Zertifikat
Infos anfordern
GFU Cyrus AG
Erweitern Sie Ihre IT-Skills mit einem offenen IT-Training oder ganz nach Ihren Bedürfnissen durch eine individuelle IT-Schulung. Programmiersprachen (C#, Python, Java, …), Microsoft Office 365, Anforderungsmanagement, Projektmanagement, Business Intelligence, Data Science, Künstliche Intelligenz, IT-Sicherheit , Administration & Datenbanken, Softwareentwicklung, Testmanagement...
Erfahren Sie mehr über GFU Cyrus AG und weitere Kurse des Anbieters.
Anzeige