경험 중심 1인칭 답변
사이드 프로젝트에서 Kubernetes로 백엔드 API 서버를 운영한 경험이 있습니다. 처음엔 단순히 여러 개의 pod를 띄우는 것에서 시작했지만, 트래픽이 늘면서 rolling update 중 일부 요청이 503을 반환하는 문제가 발생했습니다. 원인을 추적해보니 readinessProbe 설정이 없어 pod가 준비되기 전에 트래픽을 받는 것이 문제였습니다.
httpGet 방식으로 헬스체크 엔드포인트를 추가하고 initialDelaySeconds를 조정했더니 다운타임 없이 배포가 가능해졌습니다. 이후에는 HorizontalPodAutoscaler를 붙여서 CPU 60% 기준으로 자동 스케일링이 되도록 구성했고, 부하 테스트에서 인스턴스 수가 2→6으로 자동 확장되는 것을 확인했습니다. ConfigMap과 Secret을 분리해서 환경변수를 코드에서 완전히 분리한 것도 이 프로젝트에서 처음 제대로 해봤습니다. Kubernetes를 쓰면서 가장 좋았던 점은 장애가 났을 때 자동 재시작이 됐다는 것보다, 장애가 어디서 났는지 로그와 이벤트로 빠르게 파악할 수 있다는 관측 가능성이었습니다.