3장에서 구현한 Rolling Update는 Pod를 하나씩 교체하는 방식이라 ‘완전 중단’이라고 할 만큼 오래 끊기지는 않습니다. 다만 운이 나쁜 사용자가 교체되는 그 순간 요청을 보내면 connection refused를 보게 됩니다. 그리고 더 중요한 문제가 있습니다. 새 버전에 문제가 있을 때 롤백하는 동안에도 사용자는 계속 새 버전으로 연결된다는 점입니다. ‘배포 → 버그 발견 → 롤백 시작 → 롤백 완료’ 사이의 수십 초 동안 사용자들은 에러 페이지를 받습니다.
여기까지 오면서 한 번도 해결하지 못한 다른 문제도 있습니다. 지금까지 Notiflex API에 접근하려면 kubectl port-forward 명령을 사용해야 했습니다. 외부 IP가 없습니다. 실제 서비스라면 도메인과 로드밸런서가 있어야 하는데, 우리는 아직 ‘로컬에서만 접근 가능한’ 상태입니다.
5장에서는 이 두 가지를 해결합니다. 먼저 Gateway API로 외부 진입점을 만들고, 그 위에 Argo Rollouts로 Blue/Green 배포를 얹습니다. 배포 전략은 3장의 Rolling Update에서 멈추지 않고 Blue/Green으로 발전하고, 6장에서는 Canary로 한 단계 더 나아갑니다. 5장이 끝나면 브라우저에서 외부 IP로 Notiflex에 접속할 수 있고, 새 버전을 배포해도 사용자는 끊김을 느끼지 못합니다.