2026 · 인프라 배포

document-center를 무중단 블루그린으로 띄웠어요

기술인프라kubernetes블루그린
목차

이 세 가지를 보여드려요

1왜 옮겼고 무엇이 달라졌는지 짚어봐요
2블루그린·인증서·자동배포가 어떻게 도는지 봐요
3실제 배포 결과 숫자를 확인해요
01

로컬에서만 보던 장표를 공개 URL로 상시 띄워요

지금까진 docker-compose로 내 PC에서만 열 수 있었어요. 이제 어디서든 주소로 들어와요.

결과

한 번에, 끊김 없이, 빠르게 떴어요

머지 → 라이브
33
▲ 빌드·검증·전환 자동
HTTPS 인증서 발급
29
▲ 자동 · 30일 전 갱신
기존 서비스 영향
0
▲ 신규 추가 · 다운타임 0
트래픽 경로

주소를 치면 이렇게 장표까지 닿아요

인터넷
공유기 80·443
Traefik
active Service
nginx 장표
Traefik: 도메인·경로별로 트래픽을 나눠 보내는 리버스 프록시 · active Service: 지금 실제 트래픽을 받는 파드 묶음
Before / After

내 PC 전용에서 공개 서비스로 바뀌었어요

Before
  • docker-compose로 내 PC에서만 열려요
  • 남에게 보여주려면 화면 공유가 필요해요
  • 재배포·갱신을 손으로 해야 해요
After
  • 공개 HTTPS 주소로 어디서든 들어와요
  • 블루그린으로 끊김 없이 새 버전이 떠요
  • 장표를 push하면 알아서 배포돼요
블루그린 전환

새 버전을 먼저 검증하고 트래픽을 넘겨요

1
새 버전 파드를 트래픽 없이 preview로 먼저 띄워요.
2
preview에 GET / 200을 직접 때려 잘 뜨는지 확인해요.
3
통과하면 트래픽을 새 파드로 한 번에 넘겨요.
4
이전 파드는 5분간 남겨둬, 문제가 생기면 바로 되돌려요.
preview: 트래픽을 안 받고 미리 검증만 하는 새 버전 · 스모크(smoke): 최소 동작을 확인하는 가벼운 테스트
HTTPS 자물쇠

인증서는 cert-manager가 알아서 챙겨요

1
도메인 A레코드가 우리 집 공인 IP를 가리켜요.
2
cert-manager가 HTTP-01 방식으로 도메인 소유를 증명해요.
3
Let's Encrypt 인증서를 29초에 발급받고, 만료 30일 전 자동 갱신해요.
HTTP-01: 도메인 80포트에 임시 응답을 놓아 소유를 증명하는 방식 · A레코드: 도메인을 IP로 잇는 DNS 설정
자동 배포

장표를 push하면 여기까지 저절로 흘러가요

main push
격리 clone
이미지 빌드
helm 배포
Rollout 확인
Telegram 알림
격리 clone: 배포마다 새로 받는 깨끗한 복제본 — 남은 찌꺼기로 옛 버전이 나가는 사고를 막아요 · helm: 쿠버네티스 배포 묶음 도구
공개해도 안전하게

공개 서비스라서 새는 곳을 막아뒀어요

🔒
일반 권한으로 실행해요
컨테이너를 root가 아닌 uid 101로 띄워 권한 위험을 줄여요.
🙈
소스는 안 보여요
주소로 /.git을 요청해도 404 — 코드 이력이 새지 않아요.
📂
서비스는 공개, 레포는 비공개
장표는 누구나 보되, 소스 저장소는 private으로 남겨요.
무엇으로 떴나

여섯 조각이 배포를 함께 지켜요

자산역할
Rollout블루그린으로 새 버전을 무중단 전환해요
active·preview Service실트래픽용과 검증용 파드를 나눠줘요
IngressRoute + retry도메인 라우팅 + 전환 순간 순단을 재시도로 흡수해요
CertificateLet's Encrypt 인증서를 자동 발급·갱신해요
smoke 테스트전환 전 preview가 200을 주는지 확인해요
build script이미지 빌드·태깅·배포를 한 번에 처리해요

이제 장표를 push하면
알아서 떠요

document-center.rp-space.co.kr

1 / 12
← → · Space · F 전체화면