개발

Kubernetes 프로덕션 배포: 프로브·롤아웃·오토스케일링 설정법

Kubernetes에서 안정적이고 확장 가능한 애플리케이션을 배포하기 위한 실전 가이드. 리소스 관리, 헬스체크, 오토스케일링, 보안 설정 등을 상세히 다룹니다.

Kubernetes 프로덕션 배포: 프로브·롤아웃·오토스케일링 설정법

핵심 요약

한 줄 요약: 쿠버네티스는 컨트롤 플레인 + 노드 + 파드의 운영 모델입니다. 프로브·리소스 한도·롤아웃 전략을 선언적으로 맞추지 않으면 “배포는 됐는데 서비스는 죽는” 상태가 반복됩니다.

리소스역할
Deployment레플리카·롤링 업데이트
Service안정적인 엔드포인트
IngressL7 라우팅·TLS 종단

Kubernetes 클러스터 개요


소개

Kubernetes는 컨테이너 오케스트레이션의 사실상 표준이지만, YAML과 개념이 많아 처음엔 진입장벽이 높습니다. 우리가 프로덕션에 K8s를 도입하면서 리소스 요청/제한, 헬스체크, 롤링 업데이트를 어떻게 설정했는지 실전 예제 중심으로 정리했습니다.

기본 배포 설정

Deployment 리소스

Service 리소스

리소스 관리

Resource Requests와 Limits

Best Practices:

  • Requests는 컨테이너가 보장받을 수 있는 최소 리소스
  • Limits는 컨테이너가 사용할 수 있는 최대 리소스
  • Requests와 Limits의 비율은 1:2 또는 1:4 권장

Resource Quota

헬스체크 설정

Liveness Probe

애플리케이션이 살아있는지 확인합니다. 실패 시 컨테이너를 재시작합니다.

Readiness Probe

애플리케이션이 트래픽을 받을 준비가 되었는지 확인합니다. 실패 시 Service에서 제거됩니다.

Startup Probe

느리게 시작하는 애플리케이션을 위한 프로브입니다.

오토스케일링

Horizontal Pod Autoscaler (HPA)

Vertical Pod Autoscaler (VPA)

배포 전략

Rolling Update

Blue-Green 배포

Canary 배포

ConfigMap과 Secret 관리

ConfigMap

Secret

네트워크 정책

모니터링과 로깅

Prometheus 메트릭 수집

로그 수집 (Fluentd)

보안 Best Practices

Pod Security Policy

RBAC 설정

결론

Kubernetes 프로덕션 배포를 성공적으로 수행하기 위한 핵심 사항:

  1. 적절한 리소스 관리: Requests와 Limits를 정확히 설정
  2. 강력한 헬스체크: Liveness, Readiness, Startup Probe 활용
  3. 자동 스케일링: HPA와 VPA로 리소스 최적화
  4. 안전한 배포: Rolling Update, Blue-Green, Canary 전략
  5. 보안 강화: Network Policy, RBAC, Pod Security Policy
  6. 모니터링: Prometheus와 로그 수집으로 가시성 확보

이러한 전략들을 조합하여 사용하면 안정적이고 확장 가능한 Kubernetes 환경을 구축할 수 있습니다.

참고 자료

공유하기

관련 포스트