Dinge, die Du über Deine JVM in einem Pod wissen solltest, aber Dich immer noch nicht getraut hast zu fragen!

Es gibt leider immer noch viele Aspekte, die beachtet werden müssen, damit eine JVM ohne Probleme in einem Container laufen kann, obwohl Oracle und das OpenJDK-Projekt kontinuierlich an Verbesserungen der JVM für das Zusammenspiel mit Container-Umgebungen arbeiten.

Daher betrachten wir typische Stolperfallen, die im Betrieb von JVM-Anwendungen auf Kubernetes lauern: Neben CPU-Requests und -Limits und der Linux-C FS schauen wir uns im Detail die Eigenheiten der Speicherverwaltung von Java an und warum diese zu Problemen führen können, wenn sie vernachlässigt werden. Insbesondere Änderungen, die in diesem Kontext mit Java 21 (LTS) sowie mit cgroups v2 einhergehen, werden wir betrachten.

Vorkenntnisse

  • Grundlagenwissen zu Containern, Kubernetes
    und der 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