Dinge, die Du über Deine JVM in einem Pod wissen solltest …

…, aber Dich nie getraut hast zu fragen.

Obwohl das OpenJDK-Projekt und auch Oracle vieles getan haben, die JVM an eine containerbasierte Laufzeitumgebung zu adaptieren, ist dies kein Garant dafür, dass diese auch problemlos betrieben werden kann.

Daher betrachten wir typische Stolperfallen, die im Betrieb von JVM-Anwendungen auf Kubernetes lauern: Neben CPU Requests und Limits und der Linux-„CFS“ schauen wir uns im Detail die Eigenheiten der Speicherverwaltung von Java an und klären, warum diese zu Problemen führen können, wenn sie vernachlässigt werden. Änderungen, die in diesem Kontext mit Java 18 und 19 sowie cgroups v2 einhergehen, werden wir ebenfalls betrachten.

Vorkenntnisse

  • Grundlagenwissen Container und Kubernetes
  • Grundlagenwissen JVM.

Lernziele

Diese Session vermittelt Grundlagen über die Wechselwirkung von Ressourcen eines Kubernetes-Pods und einer JVM (aber nicht nur), die in diesem Pod ausgeführt werden.

Hiernach sollte dem Auditorium bewusst sein, warum java.nio ziemlich gefährlich sein kann und warum ein Pod plötzlich den OOM-Tod stirbt, obwohl eigentlich noch genug Speicher zur Verfügung steht.

Speaker

 

Halil-Cem Gürsoy
Halil-Cem Gürsoy hat mehr als 20 Jahre Erfahrung in der Softwareentwicklung und ist Delivery Architect Director bei Capgemini. Aus der Java-Welt und großen verteilten Anwendungen kommend, fokussiert er sich in den letzten Jahren auf den Build und das Deployment solcher Systeme. Als ehemaliger Docker-Swarm-Fanboy hat er auf die harte Tour gelernt, Kubernetes zu lieben.

CLC-Newsletter

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

 

Anmelden