Die JVM in Kubernetes - Von Mythen und Killern

Oracle und das OpenJDK-Projekt haben vieles getan, um die JVM besser an container-basierte Infrastrukturen anzupassen. Dennoch gibt es viele Punkte, die beachtet werden müssen, damit eine JVM ohne Probleme in einem Container laufen kann. Welche Rolle CPU Requests und Limits spielen und was der "CFS" ist, werden wir in dieser Session vertiefen.

Neben den Einstellungen, die die CPU betreffen, werden wir insbesondere Eigenheiten der Speicherverwaltung von Java betrachten und wie diese zu Problemen führen können, wenn man sie ignoriert.

Zum Abschluss machen wir einen kleinen Ausflug zu Optimierungen, die die Startup-Zeiten einer JVM in einem Pod signifikant beeinflussen können.

Vorkenntnisse

Grundlagenwissen zu Kubernetes und Containern sowie zur JVM ist sinnvoll.

Lernziele

Nach dieser Session wissen Teilnehmende unter anderem, warum "1000 Millicores" nicht 1 CPU-Kern sind, warum ein Budget zum Zerstören von Pods existiert, wie off-heap-Memory den Betrieb einer JVM erschwert und was die glibc mit der JVM zu tun hat.

Im weiteren Verlauf schauen wir uns zudem Optimierungsmöglichkeiten der neueren Java-Versionen an.

Speaker

 

Halil-Cem Gürsoy
Halil-Cem Gürsoy ist Senior Solution Architect bei OPITZ CONSULTING und bereits seit über 20 Jahren als Entwickler, Berater und Software-Architekt unterwegs. Sein Fokus liegt auf verteilten Java-Applikationen, wobei er zugeben muss, in den letzten Jahren mehr Zeilen produktiven "Infrastruktur-Code" in Python, Go und Co. implementiert zu haben. Nebenher ist er Co-Organisator der JUG Essen.

CC-Newsletter

Sie möchten über die ContainerConf
auf dem Laufenden gehalten werden?

 

Anmelden