Resources, probes, HPA
Erőforrások (Requests & Limits)
A memory limit mindig legyen ~20%-kal nagyobb a Java Heapnél (-Xmx), különben OOMKilled lesz a vége!
kubectl set resources deployment my-java-app --limits=cpu=500m,memory=512Mi --requests=cpu=200m,memory=256Mi
Egészségügyi ellenőrzések (Probes)
A spec.containers alatt, tipikusan a Spring Boot Actuatorral: - Startup Probe: Türelmi idő, amíg a lassú JVM feláll (/actuator/health/liveness). - Readiness Probe: /actuator/health/readiness -> Ha nem OK, kiveszi a Service forgalmából. - Liveness Probe: /actuator/health/liveness -> Ha nem OK (deadlock), újraindítja a konténert.
Horizontal Pod Autoscaler (HPA)
Automatikus skálázás terhelés alapján (feltétele, hogy legyenek beállítva CPU/Memória requests értékek!).
# HPA létrehozása (Skálázás 1 és 5 pod között, ha a CPU eléri az 50%-ot):
kubectl autoscale deployment my-java-app --cpu-percent=50 --min=1 --max=5
# CPU: Millicore-ban (m) mérjük. 1000m = 1 teljes processzormag. 500m = fél mag.
# Memória: Mebibyte-ban (Mi) vagy Gibibyte-ban (Gi) mérjük. Pl. 512Mi, 1Gi.
# HPA státusz lekérdezése:
kubectl get hpa