Zero scaling
최종 수정: 2026. 1. 19.
Skuber+ Cost Optimize - Zero Scaling
트래픽이 없을 때 Pod를 0으로 축소하여 비용을 절감하는 기능입니다.
Zero Scaling이란?
Zero Scaling은 트래픽이 없는 워크로드를 자동으로 0개의 Pod로 축소하고, 트래픽이 발생하면 즉시 스케일 업하는 기능입니다.
핵심 가치
| 가치 | 설명 |
|---|---|
| 비용 절감 | 미사용 시간 동안 리소스 비용 0원 |
| 자동 스케일링 | 트래픽 감지 시 자동으로 Pod 생성 |
| 무중단 전환 | 기존 워크로드를 중단 없이 적용 |
| 유연한 설정 | 워크로드별 개별 설정 가능 |
작동 원리
기본 흐름
시간대별 동작 예시
지원 서비스 유형
External Service
외부에서 접근 가능한 서비스 (Ingress 또는 LoadBalancer)
Internal Service
클러스터 내부에서만 접근 가능한 서비스 (ClusterIP)
설정 파라미터
주요 파라미터
| 파라미터 | 설명 | 기본값 | 권장 범위 |
|---|---|---|---|
minReplicas |
최소 Pod 수 | 0 | 0 (고정) |
maxReplicas |
최대 Pod 수 | 원본 값 | 원본 유지 |
scaledownPeriod |
스케일 다운 대기 시간 | 300초 | 60~600초 |
targetConcurrency |
트래픽 임계값 | 10 | 5~100 |
파라미터 상세 설명
scaledownPeriod (스케일 다운 대기 시간)
마지막 트래픽 이후 얼마나 기다렸다가 0으로 축소할지 설정합니다.
권장 설정:
| 환경 | 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 최소화 방법
| 방법 | 설명 |
|---|---|
| 이미지 최적화 | 컨테이너 이미지 크기 최소화 |
| 준비 프로브 최적화 | readinessProbe 시간 단축 |
| 캐싱 | 이미지 사전 풀링 |
| minReplicas 조정 | 최소 1개 유지 (비용 증가) |
설정 방법
Console에서 설정
- 워크로드 목록에서 대상 워크로드 선택
- "최적화 설정" 클릭
- "Zero Scaling" 활성화
- 파라미터 설정:
- scaledownPeriod: 300 (초)
- maxReplicas: 3
- "적용" 클릭
설정 확인
Zero Scaling 적용 후 Console에서 상태를 확인할 수 있습니다.
비용 절감 예시
개발 환경 (10개 워크로드)
주의사항
적용 전 확인사항
- 워크로드가 HTTP 트래픽 기반인지 확인
- Cold Start 시간이 허용 범위 내인지 확인
- 상태(State)를 외부에 저장하는지 확인
- 연결 유지가 필요하지 않은지 확인
롤백 방법
Zero Scaling을 해제하면 원래 상태로 자동 복원됩니다.
- Console에서 워크로드 선택
- "Zero Scaling" 비활성화
- "적용" 클릭
- 백업된 원본 설정으로 복원