Zero scaling

최종 수정: 2026. 1. 19.

Skuber+ Cost Optimize - Zero Scaling

트래픽이 없을 때 Pod를 0으로 축소하여 비용을 절감하는 기능입니다.


Zero Scaling이란?

Zero Scaling은 트래픽이 없는 워크로드를 자동으로 0개의 Pod로 축소하고, 트래픽이 발생하면 즉시 스케일 업하는 기능입니다.

핵심 가치

가치 설명
비용 절감 미사용 시간 동안 리소스 비용 0원
자동 스케일링 트래픽 감지 시 자동으로 Pod 생성
무중단 전환 기존 워크로드를 중단 없이 적용
유연한 설정 워크로드별 개별 설정 가능

작동 원리

기본 흐름

Zero Scaling 작동 흐름

시간대별 동작 예시

개발 환경 Zero Scaling 예시

지원 서비스 유형

External Service

외부에서 접근 가능한 서비스 (Ingress 또는 LoadBalancer)

External Service 트래픽 흐름

Internal Service

클러스터 내부에서만 접근 가능한 서비스 (ClusterIP)

Internal Service 트래픽 흐름

설정 파라미터

주요 파라미터

파라미터 설명 기본값 권장 범위
minReplicas 최소 Pod 수 0 0 (고정)
maxReplicas 최대 Pod 수 원본 값 원본 유지
scaledownPeriod 스케일 다운 대기 시간 300초 60~600초
targetConcurrency 트래픽 임계값 10 5~100

파라미터 상세 설명

scaledownPeriod (스케일 다운 대기 시간)

마지막 트래픽 이후 얼마나 기다렸다가 0으로 축소할지 설정합니다.

scaledownPeriod 동작 예시

권장 설정:

환경 scaledownPeriod 이유
개발 환경 60~120초 빠른 축소로 비용 절감 극대화
스테이징 180~300초 간헐적 테스트 대응
프로덕션 300~600초 트래픽 변동성 대응

targetConcurrency (트래픽 임계값)

Pod당 처리할 동시 요청 수입니다. 이 값을 초과하면 스케일 업됩니다.

예: targetConcurrency = 10
- 동시 요청 5개 → Pod 1개
- 동시 요청 15개 → Pod 2개
- 동시 요청 30개 → Pod 3개

적합한 워크로드

강력 권장

워크로드 유형 특징 예상 절감률
개발/스테이징 환경 업무 시간 외 미사용 50~70%
관리자 도구 비정기적 사용 60~80%
배치 API 요청 시에만 동작 70~90%
데모 환경 특정 시간대만 사용 80~90%

주의 필요

워크로드 유형 주의사항
실시간 API Cold Start 지연 고려 필요
WebSocket 서비스 연결 유지가 필요한 경우 부적합
데이터베이스 상태(Stateful) 워크로드는 부적합

Cold Start 이해하기

Cold Start란?

Pod가 0에서 1로 스케일 업될 때 발생하는 지연 시간입니다.

Cold Start 타임라인

Cold Start 최소화 방법

방법 설명
이미지 최적화 컨테이너 이미지 크기 최소화
준비 프로브 최적화 readinessProbe 시간 단축
캐싱 이미지 사전 풀링
minReplicas 조정 최소 1개 유지 (비용 증가)

설정 방법

Console에서 설정

  1. 워크로드 목록에서 대상 워크로드 선택
  2. "최적화 설정" 클릭
  3. "Zero Scaling" 활성화
  4. 파라미터 설정:
    • scaledownPeriod: 300 (초)
    • maxReplicas: 3
  5. "적용" 클릭

설정 확인

Zero Scaling 적용 후 Console에서 상태를 확인할 수 있습니다.


비용 절감 예시

개발 환경 (10개 워크로드)

개발 환경 Zero Scaling 효과

주의사항

적용 전 확인사항

  • 워크로드가 HTTP 트래픽 기반인지 확인
  • Cold Start 시간이 허용 범위 내인지 확인
  • 상태(State)를 외부에 저장하는지 확인
  • 연결 유지가 필요하지 않은지 확인

롤백 방법

Zero Scaling을 해제하면 원래 상태로 자동 복원됩니다.

  1. Console에서 워크로드 선택
  2. "Zero Scaling" 비활성화
  3. "적용" 클릭
  4. 백업된 원본 설정으로 복원

다음 단계