
데브옵스
프로모션 배치 k8s 이관기
두줄요약
프로모션 배치를 Kubernetes로 이관한 과정과 운영 경험을 정리했습니다. Quartz 클러스터링, 관리 도구 보완, 종료·리소스 대응까지 다뤘습니다.
문제 상황
- 기존 물리서버와 Jenkins 중심의 프로모션 배치 운영 구조
- Kubernetes 환경에서 배치 중복 실행, Pod 교체 중 작업 중단, OOM 등 운영 리스크 존재
해결 방법
- Spring Boot 배치와 스케줄러를 Kubernetes 상시 운영 형태로 전환
- 내부 스케줄러로 Quartz를 채택해 DB 기반 클러스터링과 중복 실행 방지 적용
- 배치 관리 페이지, 스케줄링 API, Datadog, Loki, Grafana로 운영 기능 보완
성능/운영 포인트
- 리소스 적은 Job은 tasklet, 대용량 Job은 chunk 방식으로 이관
- terminationGracePeriodSeconds와 스프링 생명주기 조정으로 종료 시 배치 완료 시간 확보
- 쿼리 최적화와 chunk 개선으로 OOM 발생 완화
