기타/이슈&용어정리

쿠버네티스의 배포 전략과 네트워킹 모델 소개

七顚八起(7전8기) 2026. 4. 28. 07:00
반응형

쿠버네티스의 강력함은 정교한 배포 전략과 복잡한 네트워킹 모델을 단순하게 추상화했다는 점에 있습니다. 두 가지 핵심 영역을 심도 있게 파헤쳐 보겠습니다.


1. 쿠버네티스 배포 전략 (Deployment Strategies)

애플리케이션을 업데이트할 때 서비스 중단을 최소화하고 리스크를 관리하는 방법들입니다.

① 롤링 업데이트 (Rolling Update)

  • 방식: 기존 버전의 파드를 하나씩 죽이고, 새 버전의 파드를 하나씩 띄웁니다.
  • 장점: 서비스 중단 시간(Downtime)이 없으며, 추가 리소스 소모가 적습니다.
  • 단점: 업데이트 도중 구버전과 신버전이 공존하는 시간이 발생합니다. (호환성 주의)

② 블루-그린 배포 (Blue-Green)

  • 방식: 구버전(Blue)과 똑같은 규모의 신버전(Green) 환경을 통째로 새로 띄운 후, 로드밸런서의 설정을 바꿔 한꺼번에 트래픽을 전환합니다.
  • 장점: 전환이 매우 빠르고, 문제 발생 시 구버전으로 즉시 복구(Rollback)가 가능합니다.
  • 단점: 전체 리소스가 일시적으로 2배 필요합니다.

③ 카나리 배포 (Canary)

  • 방식: 신버전을 아주 소수(예: 5%)만 배포하여 일부 사용자에게만 노출합니다. 문제가 없으면 점진적으로 비중을 늘립니다.
  • 장점: 실제 환경에서 신규 버전의 안정성을 테스트하며 리스크를 최소화할 수 있습니다.

2. 쿠버네티스 네트워킹 (Networking)

쿠버네티스 네트워크의 핵심 원칙은 "모든 파드가 NAT 없이 서로 통신할 수 있어야 한다"는 것입니다.

① 파드 간 통신 (Pod-to-Pod)

  • 클러스터 내의 모든 파드는 고유한 내부 IP를 가집니다.
  • 파드가 다른 노드에 있더라도 마치 같은 로컬 네트워크에 있는 것처럼 서로의 IP로 직접 통신할 수 있습니다. (CNI: Container Network Interface 가 이 역할을 수행합니다.)

② 서비스 (Service): 파드의 고정 입구

파드는 생성과 소멸이 잦아 IP가 계속 바뀝니다. Service는 이 파드 집합에 고정된 IP(ClusterIP)나 도메인 이름을 제공합니다.

  • ClusterIP: 클러스터 내부에서만 접근 가능한 기본 서비스 타입.
  • NodePort: 모든 노드의 특정 포트를 열어 외부 트래픽을 파드로 전달.
  • LoadBalancer: 클라우드 환경(AWS, GCP 등)에서 외부 로드밸런서를 생성하여 연결.

③ 인그레스 (Ingress)

서비스가 Layer 4(IP/Port) 수준의 전달이라면, Ingress는 Layer 7(HTTP/HTTPS) 수준의 규칙을 관리합니다.

  • 하나의 IP로 여러 서비스를 운영할 수 있게 해줍니다.
  • 예: example.com/api는 A 서비스로, example.com/web은 B 서비스로 보냅니다.
  • SSL/TLS 인증서 터미네이션 기능을 제공합니다.

3. 요약: 배포와 네트워크의 상호작용

새로운 버전을 Deployment로 배포하면(롤링 업데이트 등), Service는 사용자의 요청을 현재 살아있는 '정상적인' 파드들에게만 똑똑하게 나눠줍니다. 이 조화 덕분에 사용자는 업데이트 중에도 끊김 없는 서비스를 경험하게 됩니다.

감사합니다.

 

반응형