Smart Sizing
Pod CPU/메모리 요청 및 제한을 지속적으로 최적화하여 과도한 프로비저닝과 과소 프로비저닝을 제거하고 30-40%의 리소스 낭비를 제거합니다.
개요
Kubernetes Pod 요청 및 제한은 종종 추측이나 보수적 오버 프로비저닝에 기반합니다. 이로 인해 40-60%의 리소스 낭비(과도한 프로비저닝) 또는 성능 병목 현상(과소 프로비저닝)이 발생합니다. 표준 VPA는 기본 설정이 있지만 워크로드별 행동을 학습하지 않습니다.
Smart Sizing은 실제 리소스 소비를 지속적으로 분석하고 각 워크로드에 대한 최적의 CPU 및 메모리 요청/제한을 자동으로 적용합니다. 정적 설정의 추측을 제거하고 변화하는 워크로드 수요에 적응하여 안정성과 비용 효율성을 모두 보장합니다.
Smart Sizing이 더 나은 이유
| 표준 VPA | Wave Smart Sizing | |
|---|---|---|
| Adjustment Method | InPlaceOrRecreate (beta in K8s 1.33+) uses the in-place primitive but silently falls back to evict-and-restart when the node lacks capacity | Same in-place primitive, surfaced as an explicit user choice: In-Place stays in-place (skip on node-pressure, retry next cycle), Manifest Patch is rollout-managed — no silent restarts |
| Configuration Complexity | Manual VPA objects per deployment with complex update policies | One-click enablement for all workloads or per-deployment |
| Configuration Drift | VPA recommendations can drift from actual deployment manifests | Continuous synchronization with actual workload behavior |
비즈니스 결과
과도한 프로비저닝 제거로 클러스터 리소스 낭비 감소
Achieve optimal CPU and memory utilization
수동 YAML 편집 또는 추측 없이 지속적 사이징
작동 원리
1. 리소스 소비 추적
Wave는 시간 경과에 따른 각 워크로드의 실제 CPU 및 메모리 사용량을 모니터링.
2. 최적 사이징 계산
ML 모델이 소비 패턴을 분석하고 안정성과 비용 효율성을 균형있게 맞춘 요청/제한 계산.
3. 자동으로 사이징 적용
Smart Sizing이 최적화된 리소스 설정을 배포에 자동으로 적용하여 수동 변경 불필요.
4. 지속적 조정
워크로드가 진화함에 따라 Smart Sizing이 지속적으로 권장사항을 재계산하고 적용.
비즈니스 결과
Discover over-provisioned workloads wasting CPU and memory
과도한 프로비저닝 제거로 클러스터 비용 최적화
Eliminate manual resource request/limit tuning efforts
작동 원리
1. 리소스 소비 추적
Wave는 시간 경과에 따른 각 워크로드의 실제 CPU 및 메모리 사용량을 모니터링합니다.
2. 간격 분석
ML 모델이 요청된 리소스와 실제 사용량을 비교하여 과소/과도 프로비저닝 식별.
3. 최적 권장사항 생성
시스템이 안정성과 비용 효율성을 균형있게 맞춘 정확한 CPU/메모리 요청 및 제한 제안.
4. 자동 적용
Smart Sizing이 활성화되면 권장사항이 배포에 자동으로 적용되어 지속적 최적화 보장.
Realtime Resizing: 자동 적용, in-place, 재시작 없음
Realtime Resizing 이 루프를 자동으로 닫습니다. 각 워크로드 (Deployment / StatefulSet / DaemonSet / Argo Rollout / OpenShift DeploymentConfig) 가 세 가지 Apply Mode 중 하나를 선택하며, 자동 적용은 컨테이너 단위 opt-in 입니다 — 명시적으로 켜기 전에는 클러스터에 어떤 변경도 일어나지 않습니다. 직접 제어하고 싶다면 Resize Now 로 원하는 권장값을 언제든 수동 적용할 수 있습니다.
Off
Wave 는 권장사항을 계속 생성하지만 워크로드에 손대지 않습니다. Smart Sizing 을 우선 평가해보고 싶을 때 사용.
In-Place Pod Resize
실행 중인 pod 에 K8s 1.27+ /resize subresource 를 호출. pod 재시작도, rollout 도, downtime 도 없습니다. K8s 1.27–1.32 에서는 InPlacePodVerticalScaling feature gate 가 필요하며, 1.33 부터 기본 활성화, 1.35 에서 GA 입니다.
Manifest Patch
워크로드 spec 을 patch. 다음 rollout 부터 새 pod 가 새 리소스로 뜹니다. in-place feature gate 없이도 어디서든 동작.
컨테이너 단위 buffer / min / max 컨트롤은 Container Settings 에서 관리하여 안전마진을 유지할 수 있습니다.
Deployment / StatefulSet / DaemonSet / Argo Rollout / OpenShift DeploymentConfig 에서 동작.
자동 적용을 켜기 전에
- • 노이즈를 억제하는 히스테리시스: priority 비율 ≥ 10% OR CPU 변화량 ≥ 50 mCPU OR memory 변화량 ≥ 64 MiB 중 하나라도 충족할 때만 적용 (VPA 스타일 임계값, OR 결합).
- • In-Place 는 pod 당 일회성 호출이고 재시도하지 않습니다. 노드 리소스 부족으로 kubelet 이 거부하면 해당 pod 는 건너뛰고 다음 10분 사이클에서 다시 시도. 재스케줄 보장이 필요하면 Manifest 모드를 사용하세요.
- • Manifest 모드는 Argo CD auto-sync 와 충돌합니다 — Argo 가 patch 를 되돌립니다. Wave 가 리소스 값의 source of truth 여야 하는 워크로드는 Autopilot 과 마찬가지로 auto-sync 를 꺼주세요.
- • Deployment 의 Smart Sizing 자동 적용은 Autopilot 으로 전환되면 자동 해제됩니다 — Autopilot 이 관리하는 워크로드의 리소스는 Autopilot 이 소유합니다.
Wave로 리소스 낭비 제거
컨테이너별 buffer / min / max, 넓은 hysteresis, Apply History 패널을 갖춘 in-place 기반의 지속적·비파괴적 리소스 최적화.
무료 데모 예약