korean-docs
소개

Wave 소개

Wave는 쿠버네티스 운영을 위한 베스트 프랙티스 운영 레이어입니다. 매일 클러스터를 분석해 스케일링, 사이징, 안정성 문제의 근본 원인을 진단하고, 알맞은 설정을 권고합니다. 그리고 승인하면 스케일링, 사이징, 진단, 트래픽, 노드 전반에 걸쳐 자동으로 적용합니다. 마치 클러스터 안에 상주하는 쿠버네티스 운영 전문가처럼, Amazon EKS와 OpenShift가 남겨 둔 운영 공백을 메웁니다. SRE와 플랫폼 엔지니어는 30~40% 낮은 비용으로 더 안정적인 클러스터를 운영할 수 있습니다.

Wave Autoscale의 새 이름은 Wave입니다. 기술 식별자(wave-autoscale 네임스페이스, Helm 차트, 환경 변수)는 호환성을 위해 그대로 유지되므로, 설치 명령에서는 여전히 이 이름들을 보게 됩니다.

Wave란?

Wave는 엔지니어가 HPA, VPA, Prometheus 위에서 직접 손보던 Day 2 운영을 권고하고 자동화하는 쿠버네티스 플랫폼입니다. ML 모델이 워크로드별 패턴을 분석해 문제를 진단하고 알맞은 설정을 권고하며, 허용하면 스케일링, 사이징, 트래픽, 용량 결정을 실시간으로 자율 적용합니다. 통제권은 그대로 사용자에게 있습니다. 먼저 어떤 기능이든 권고 전용(advisory) 모드로 돌려 보고, 신뢰가 쌓이면 자동화를 켜면 됩니다.

대규모로 쿠버네티스를 운영하는 SRE, 플랫폼 엔지니어, DevOps 팀을 위해 만들어진 Wave는 Day 2 운영에 쓰이는 엔지니어링 시간의 60~70%를 되찾아 전략적인 일에 다시 투입합니다.

서브 브랜드 한눈에 보기

Wave Sizing

지속적인 인플레이스(in-place) 수직 라이트사이징.

  • Smart Sizing: Pod의 requests/limits를 지속적으로 수직 사이징합니다. VPA의 축출 후 재생성 방식과 달리 10분마다 인플레이스로 패치하며, Autopilot과 충돌하지 않고 함께 동작합니다.
  • Realtime Resizing: 실행 중인 Pod에 재시작 없이 사이징 변경을 적용합니다. 클러스터가 지원하면 인플레이스 리사이즈를, 구버전 클러스터에서는 매니페스트 패치로 대체합니다.
  • Smart Sizing Report: 클러스터 전체의 라이트사이징 권고와 그로 절감되는 비용을 담은 리포트로, 팀과 바로 공유할 수 있습니다.

Wave Diagnosis

ML 기반 관찰성(observability)과 예측.

  • Cluster Resource Forecast: 7~30일 클러스터 용량을 예측해, 자원이 고갈된 뒤가 아니라 그 전에 조달과 용량 계획을 세울 수 있습니다.
  • Memory Leak Detection: OOMKill을 수 시간에서 며칠 전에 예측해, 새벽 3시 호출을 받기 전에 누수를 찾아냅니다.
  • CPU Utilization Analysis: 워크로드 단위 CPU 사용량을 레이블별로 세분화해 보여 줍니다. Grafana를 파고들 필요 없이, 어떤 레이블 그룹이 비용을 끌어올리는지 Wave가 바로 짚어 줍니다.
  • Pod Scheduling Delay Detection: Pending에 묶인 Pod를 감지하고, Prometheus가 보여 주는 클러스터 전체 집계 대신 워크로드별 지연 내역을 제공합니다.
  • Idle Node Detection: 활용도가 낮은 노드를 찾아내 비용을 줄입니다. "대시보드나 보라"가 아니라 바로 조치할 수 있게 안내합니다.

Wave Autoscale

ML 기반 수평 스케일링과 지능형 레플리카 권고.

  • Autopilot: 워크로드별 ML 기반 수평 스케일링. 정적 임계값에 30초~5분 걸려 반응하는 HPA와 달리, 학습한 워크로드별 패턴으로 10초 이내에 반응합니다.
  • Autopilot Scheduler: 예정된 이벤트를 위한 UI 기반 스케줄 스케일링. 블랙 프라이데이를 앞두고 HPA YAML을 고치는 cron 작업은 이제 필요 없습니다.
  • Min/Max Recommendation: 데이터 기반 minReplicas / maxReplicas 권고. 감으로 정하던 값을 실제 워크로드 동작에서 도출한 범위로 바꿉니다.

Wave Karpenter

Amazon EKS에서의 프로덕션급 Karpenter 운영.

  • Karpenter Dashboard: 비용 추적, 스팟 비율, NodePool 분석을 갖춘 실시간 노드 모니터링. Karpenter가 기본 제공하지 않는 가시성을 채워 줍니다.
  • Karpenter Node Warmup: 이미지 사전 캐싱과 함께 노드를 미리 프로비저닝해, 콜드 스타트를 10배(31초→3초) 앞당깁니다.
  • Karpenter Spot Workload Placement: 웹훅 주입으로 Deployment별 스팟/온디맨드 비율을 나눕니다. 기본 Pod를 위험에 빠뜨리지 않으면서 스팟 절감을 챙깁니다.

Wave Flow

Istio에서 우선순위 기반 트래픽 보호(traffic protection).

  • Wave Flow: Istio Sidecar, Ambient, Envoy Standalone에 걸친 WASM 기반 우선순위 트래픽 보호. 급증 상황에서도 중요한 트래픽(체크아웃, 결제)은 보호하고, 대량 트래픽은 서서히 제한됩니다.
  • NetFUNNEL Integration: 워크로드를 인식하는 가상 대기실로, 피크 이벤트에 5xx를 반환하는 대신 트래픽 급증을 흡수합니다.

추가 기능

스토리지, 알림, 프로그래머빌리티.

  • PV Auto-Expansion: PersistentVolume이 가득 차기 전에 확장합니다. 새벽 3시 "PV 꽉 참" 호출은 이제 그만.
  • PV Capacity Forecast: PV 고갈을 7~30일 전에 예측해, 사후 대응이 아니라 미리 용량을 계획합니다.
  • PV Cleanup: 고아 PersistentVolume을 제거해, 아무도 챙길 겨를이 없던 스토리지 비용을 회수합니다.
  • Unused PV Detection: 연결돼 있지만 놀고 있는 PV를 찾아내, PVC 개수만 봐서는 놓치는 낭비를 짚어 줍니다.
  • Alerts: 스케일링 이벤트와 이상 징후에 대한 웹훅 알림(Slack, 이메일, 커스텀)을 설정할 수 있습니다. 익스포터를 또 만들 필요가 없습니다.
  • Programmable API: Wave의 모든 기능을 다루는 RESTful API로, 자체 파이프라인에서 Wave를 자동화할 수 있습니다.
  • SSO (OIDC): 콘솔 접근을 위한 OIDC 싱글 사인온으로, 기존 IdP(identity provider)와 연동됩니다.

Wave가 클러스터 안에서 동작하는 위치

Wave가 Kubernetes 클러스터에 들어가는 방식EXTERNAL🌐 사용자 / 트래픽Wave — 운영 신뢰성 레이어Programmable API알림Kubernetes 클러스터EKS · GKE · AKS · OpenShift · Rancher인그레스 · 서비스 메시Ingress ControllerIstio GatewayVirtualServiceDestinationRuleEnvoyFilterFWAVE FLOW기능 (2개)Wave FlowNetFUNNEL 통합Istio · 인그레스에 결합컨트롤 플레인kube-apiserveretcdkube-schedulercontroller-manager워크로드 컨트롤러HPAVPADeployment / RSStatefulSetAWAVE AUTOSCALE기능 (3개)AutopilotAutopilot SchedulerMin/Max 권장사항HPA 대체기존 옵저버빌리티 (선택적 연동)PrometheusGrafanametrics-servercAdvisor / kube-state-metricsDWAVE DIAGNOSIS기능 (6개)클러스터 리소스 예측메모리 누수 감지CPU 사용률 분석Pod 스케줄링 지연 감지유휴 노드 감지Pod / 컨테이너 장애자체 클러스터 메트릭 수집데이터 플레인 · 워커 노드node-1kubelet · kube-proxyPod500m·512MiPod1000m·1GiPV / PVC스토리지파드별 request / limit ↑node-2kubelet · kube-proxyPod2000m·2GiPod500m·1Gi⚠ OOMKilled메모리 누수node-3kubelet · kube-proxyPod750m·768MiPod300m·384MiPV / PVC스토리지SWAVE SIZING기능 (3개)Smart Sizing실시간 리사이징Smart Sizing 리포트파드 request/limit 조정 · VPA 대체P스토리지 (PV)기능 (4개)PV 자동 확장PV 용량 예측PV 정리미사용 PV 감지PV · PVC 관리노드 프로비저닝KarpenterCluster AutoscalerSpot · On-DemandKWAVE KARPENTER기능 (3개)• Dashboard · Node Warmup · Spot Placement

시작하기