Best Practices for Applications on Kubernetes for Both Frequent Updates & Stabil...
Talkat KubeDay Japan 2022 · on Wednesday, 2022-12-07· at 10:30· Level 3 | InterContinental Ballroom·
summary
Kubernetes manifests plus JVM tuning reduce restart-caused errors: use init containers for external prep and postStart hook inside the main container to perform Java warm‑up (example: wait 10s then send warm requests until ~10,000 JIT executions), set Heap to about 50% heap of pod memory via MaxRAMPercentage, prefer G1 GC over CMS to avoid long stop‑the‑world pauses, configure readiness vs liveness carefully, use preStop sleep to drain traffic, and tune requests/limits to avoid cgroup throttling and OOMKill.
AI-written summary · about
chapters (21)
- 0:00Introduction
- 2:28Background
- 7:13Preparation in Launch
- 12:08Prevent Pot Shutdowns
- 13:20Class Patterns
- 13:42High load triggers
- 14:38Outside support
- 15:29CPU throttling
- 16:27Memory usage
- 16:53Heap memory
- 17:57Garbage collection constellations
- 19:24Support stoppage
- 19:39Liveness proved
- 20:05Liveness proof
- 21:06Dont make groups dependent on components
- 21:17Check connectivity of databases
- 22:12How to safely stop ports
- 23:48How to wait until traffic stops
- 24:39Example manifest
- 24:54Example springboot
- 26:05Questions
related talks
46mKubernetes and the JVM
47mSecrets of Performance Tuning Java on Kubernetes
51mBest Practices to Spring to Kubernetes Easier and Faster
01h 59mKubernetes for Java Developers
40mZero-Downtime Java Enterprise Applications With Kubernetes
51mWhy You Need Performance Tests for Proper Kubernetes Scaling
44mTop 5 container and Kubernetes best practices
56mKubernetes + Containers + Java … A Hodgepodge?...
