DevOpsNode.js 컨테이너, 왜 깔끔하게 안 죽을까? (feat. Graceful shutdown)
이 글은 Node.js 컨테이너 환경에서 Graceful Shutdown이 제대로 동작하지 않는 문제를 다룹니다. Kubernetes에서 Pod 종료 시 SIGTERM 시그널을 보내지만, Node.js 애플리케이션이 이를 받지 못하고 SIGKILL로 강제 종료되는 현상의 원인을 분석합니다. 일반적인 오해와 달리, 이는 Node.js 자체의 문제라기보다는 Linux 커널의 PID 1 보호 메커니즘과 Node.js 이벤트 루프의 동작 방식이 복합적으로 작용한 결과임을 설명합니다. SIGTERM을 제대로 처리하지 못하는 상황을 해결하기 위해 프로세스 종료 과정을 근본적으로 이해하고, 이를 통해 안정적인 서비스 운영 방안을 모색하는 방법을 제시합니다.










