Dieser Vortrag wird auf Deutsch gehalten. / This Talk will be held in German.
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.
- Grundlagenwissen zu Containern, Kubernetes
und der JVM
- 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.
