SECTION 5.1 Rolling Update는 왜 서비스가 끊기는가
본격적으로 도구를 고르기 전에, ‘왜 배포할 때 순간적으로 서비스가 끊기는가’를 정리하고 갑니다. 3장에서 Rolling Update를 만들 때는 ‘Pod를 하나씩 교체한다’는 설명에서 멈췄는데, 실제로 그 교체가 일어나는 순간에 어떤 일이 벌어지는지 들여다봅니다.
Rolling Update 자체는 잘 설계된 메커니즘입니다. 새 Pod가 Ready 상태가 될 때까지 기다린 다음에야 기존 Pod를 내리고, 그사이에 서비스가 두 버전 모두에 트래픽을 분배합니다. 문제는 ‘Ready’와 ‘실제로 요청을 받을 준비가 됐다’가 항상 같지 않다는 점입니다. readinessProbe가 /health에서 200을 돌려주는 순간 Pod는 Ready가 되지만, 그 직후 첫 요청이 들어올 때 커넥션 풀 초기화나 캐시 워밍업이 아직 끝나지 않았을 수 있습니다. 첫 요청 몇 개는 느리거나 5xx를 받습니다.