언어 바꾸기English
이전 목록

Node.js 컨테이너, 왜 깔끔하게 안 죽을까? (feat. Graceful shutdown)

Why Won't Node.js Containers Shut Down Cleanly? (feat. Graceful Shutdown)

TL;DR AI

핵심 요약

1분
  1. Node.js 컨테이너에서 종료 신호를 받아도 작업이 남아 있어 SIGKILL까지 가는 graceful shutdown 문제가 발생했다.

  2. 원인은 Linux PID 1의 시그널 처리 특성과 Node.js 이벤트 루프에 남아 있는 비동기 작업으로 파악됐다.

  3. 해결을 위해 dumb-init을 PID 1로 두고, NestJS 셧다운 훅에 타임아웃을 적용했다.

  4. 또한 Kubernetes의 terminationGracePeriodSeconds를 늘려 정상 종료 시간을 확보했다.

원문 보기