AI Briefing

Argo CD와 Linkerd로 QA 병목 제거: PR Preview 환경 구축

·2025.11.26 02:00

Argo CD와 Linkerd로 PR마다 독립 QA Preview 환경을 자동 생성했다.

Kubernetes 마이그레이션을 기반으로, 단일 개발 환경 하나에 QA가 몰리며 생기던 병목을 없애기 위해 PR마다 독립된 Preview 환경을 자동 생성하는 구조를 만들었다.

핵심은 Argo CD ApplicationSet Pull Request Generator였다. PR에 preview 라벨이 붙으면 inflearn-courses-fe-pr-<번호> 형태의 애플리케이션이 자동 생성되고, Helm 템플릿으로 Preview 환경에서는 불필요한 Ingress를 제외한 채 Pod와 replica를 최소화해 비용을 줄였다.

접속 방식은 서브도메인 분리나 URL 경로 분리 대신 쿠키 기반 라우팅을 선택했다. 두 방식은 서비스 간 이동 시 운영 환경으로 되돌아가는 문제가 있었고, 애플리케이션 코드 수정도 필요했기 때문이다.

기존 ingress-nginx는 동일한 Host와 Path를 가진 리소스가 중복되면 동적 라우팅에 불리했지만, 이미 mTLS와 모니터링에 사용 중이던 Linkerd의 HTTPRoute/Traffic Split 구성을 활용하면 PR별 라우팅 규칙을 리소스 단위로 안전하게 분리할 수 있었다. 브라우저 쿠키에 PR 번호만 넣으면 평소 쓰던 URL 그대로 해당 PR 환경으로 접속할 수 있게 했다.

그 결과, 동시에 여러 기능이 개발돼도 각각 독립된 테스트 환경에서 병렬 QA가 가능해졌고, "지금 배포해도 되나요?" 같은 커뮤니케이션 비용도 크게 줄었다.

이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.

요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.