쿠버네티스 v1.37: HorizontalPodAuto... 노트

쿠버네티스 v1.37: HorizontalPodAutoscaler로 워크로드를 제로까지 확장

Kubernetes v1.37은 이제 기본적으로 워크로드를 0개의 레플리카로 축소하는 베타 API 지원을 제공합니다. 이를 통해 HorizontalPodAutoscaler는 유휴 리소스를 0으로 줄인 다음 필요할 때 다시 확장할 수 있습니다. 이전에는 이 기능을 사용하려면 외부 애드온 또는 알파 기능 게이트가 필요했습니다. 0으로 축소하는 것은 특히 큐 소비자(queue consumers)와 같은 워크로드에 유익하며, 특히 값비싼 전용 하드웨어를 사용하는 경우 리소스 절약 효과가 클 수 있습니다.주요 절충점은 시스템이 메트릭을 관찰하고, 파드를 스케줄링하고, 애플리케이션을 시작해야 하므로 콜드 스타트(cold-start) 시간이 증가한다는 것입니다. 이 접근 방식은 작업이 내구성 있는 큐(durable queue)에 일시적으로 보관될 수 있을 때 가장 효과적입니다. 파드가 사라지면 존재하지 않게 되는 CPU 또는 메모리 메트릭과 달리, 오브젝트 및 외부 메트릭은 독립적으로 유지됩니다. 이를 통해 HorizontalPodAutoscaler는 실행 중인 워커 파드가 없을 때도 큐 길이와 같은 메트릭을 계속 모니터링할 수 있습니다.0에서 확장하려면 Prometheus Adapter와 같은 외부 메트릭 어댑터(external metrics adapter)가 필요하며, 이는 큐 소비자 지연(queue consumer lag)과 같은 메트릭을 Kubernetes에 노출합니다. 그런 다음 HorizontalPodAutoscaler는 최소 0개의 레플리카로 구성되고 확장을 결정하기 위해 외부 메트릭을 대상으로 합니다. ScaledToZero 상태 조건은 수동 일시 중지와 자동 축소를 구별하여 HorizontalPodAutoscaler가 제어권을 다시 시작할 수 있도록 보장합니다. 이 기능은 이전에 알파 단계에 있었으며 v1.37에서 베타로 승격되었고 리소스 효율성을 개선하기 위해 기본적으로 활성화됩니다.