Kubernetes CronJob 강제 종료 및 graceful shutdown 처리 방법 (Spring Batch + 모니터링 연동)

Kubernetes CronJob을 활용해 Java 기반 Spring Batch 작업을 수행하는 환경에서, 작업 시간이 초과되었을 때의 강제 종료 처리가 필요할 수 있습니다. 이를 위해 activeDeadlineSeconds를 활용하면 설정된 시간 초과 시 작업을 종료할 수 있습니다. 그러나 기본적으로 Kubernetes는 종료 시 SIGTERM을 먼저 보내고, 이후 terminationGracePeriodSeconds 동안 graceful shutdown을 기다립니다. 이 시간이 지나야 SIGKILL을 더 읽기

EKS CronJob에서 실행 시간이 지나면 자동으로 Pod 종료하는 방법

Kubernetes의 CronJob을 사용할 때, 실행 시간이 너무 길어지면 리소스를 낭비할 수 있습니다. 이를 방지하기 위해 activeDeadlineSeconds 옵션을 활용하면 일정 시간이 지나면 자동으로 Pod를 종료할 수 있습니다. ✅ activeDeadlineSeconds 옵션이란? activeDeadlineSeconds는 Job이 시작된 후 일정 시간이 지나면 강제 종료되는 기능입니다. 이를 설정하면, 지정된 시간이 초과되었을 때 Kubernetes가 자동으로 해당 Pod를 종료합니다. 더 읽기