Closed10

Spring Boot + KubernetesでのTipsいろいろ

abekohabekoh

Liveness Probe / Readiness Probeの設定
Spring Boot 2.3以降より利用可能

https://spring.io/blog/2020/03/25/liveness-and-readiness-probes-with-spring-boot
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-application-availability

設定は

management.endpoint.health.probes.enabled=true
# こちらがあれば上記は不要
spring.main.cloud-platform=kubernetes

さらにmanagement.endpoint.health.group.liveness.include等でreadiness/livenessにどのチェックを含めるかといった設定も可能

abekohabekoh

デフォルトのJavaだと、ヒープサイズが最大ホストの1/4~1/2までとなってしまう。
コンテナ環境はそのアプリケーションのためだけの環境なので、最大限活用できるようにしたい。

これを解決するために、

  • -XX:MaxHeapSize または -Xmx で最大ヒープサイズを設定
  • -XX:MaxRAMFraction (Java10以降なら XX:MaxRAMPercentage) でメモリサイズ・ヒープサイズの割合を設定

といったことが必要となる。

JVMのヒープ以外のメモリ領域、ホストが使うメモリも考慮する必要があるため、100%ヒープに割り当てるといったことは不可。

このスクラップは2022/05/06にクローズされました