본문 바로가기
문서 목차
ORKESTRIXAI 플랫폼

pod_autoscaling

정보 — 요건 HPA를 지원하는 경우, 가속기를 사용하는 파드에 대해 커스텀 메트릭 기반 스케일링을 포함해 HPA가 정상 동작해야 한다.

QUANTUM C&S

정보 — 요건

HPA를 지원하는 경우, 가속기를 사용하는 파드에 대해 커스텀 메트릭 기반 스케일링을 포함해 HPA가 정상 동작해야 한다.

카테고리: 스케줄링 · 오케스트레이션 · 수준: MUST (조건부) · 상태: Implemented

적용 솔루션

QKS는 추론 워크로드(KServe predictor)마다 HorizontalPodAutoscaler v2를 KosmosAI-portal이 직접 관리(min/maxReplicas)하며, KEDA가 external.metrics.k8s.io를 제공해 커스텀/외부 메트릭 기반 스케일링을 지원합니다. 아래 대상 HPA의 워크로드는 MIG GPU(nvidia.com/mig-4g.96gb)를 사용하는 추론 서비스입니다.

증명 (명령어 + 출력)

1. HPA 목록 (가속기 사용 추론 워크로드)

$ kubectl get hpa -A
NAMESPACE      NAME                                                      REFERENCE                                                            TARGETS              MINPODS   MAXPODS   REPLICAS   AGE
ai-KosmosAI    oos-pharma-realtime-predictor                             Deployment/oos-pharma-realtime-predictor                             cpu: 0%/80%          1         1         1          27d
ai-KosmosAI    opendatalab-mineru2-5-pro-2604-1-2b-serving-predictor     Deployment/opendatalab-mineru2-5-pro-2604-1-2b-serving-predictor     cpu: 0%/80%          1         1         1          36d
ai-KosmosAI    qwen-qwen3-6-27b-fp8-serving-predictor                    Deployment/qwen-qwen3-6-27b-fp8-serving-predictor                    cpu: 0%/80%          1         1         1          34d
ai-KosmosAI    qwen-qwen3-reranker-8b-serving-predictor                  Deployment/qwen-qwen3-reranker-8b-serving-predictor                  cpu: 0%/80%          1         1         1          42d
ai-KosmosAI    qwen3-qwen3-embedding-0-6b-predictor                      Deployment/qwen3-qwen3-embedding-0-6b-predictor                      cpu: 0%/80%          1         1         1          36d
…(총 22개, 이하 생략)

# captured: 2026-07-02T01:50:53Z

2. HPA 상세 — MIG GPU 사용 추론 서비스의 HPA v2 (behavior 정책 포함)

$ kubectl -n ai-KosmosAI describe hpa qwen-qwen3-6-27b-fp8-serving-predictor
Name:                                                  qwen-qwen3-6-27b-fp8-serving-predictor
Namespace:                                             ai-KosmosAI
Labels:                                                app.kubernetes.io/managed-by=KosmosAI-portal
                                                       serving.kserve.io/inferenceservice=qwen-qwen3-6-27b-fp8-serving
Reference:                                             Deployment/qwen-qwen3-6-27b-fp8-serving-predictor
Metrics:                                               ( current / target )
  resource cpu on pods  (as a percentage of request):  0% (17m) / 80%
Min replicas:                                          1
Max replicas:                                          1
Behavior:
  Scale Up:
    Stabilization Window: 0 seconds
    Select Policy: Max
    Policies:
      - Type: Pods     Value: 4    Period: 15 seconds
      - Type: Percent  Value: 100  Period: 15 seconds
  Scale Down:
    Select Policy: Max
    Policies:
      - Type: Percent  Value: 100  Period: 15 seconds
Deployment pods:       1 current / 1 desired
…(이하 생략)

# captured: 2026-07-02T01:50:55Z

3. 커스텀/외부 메트릭 API 등록 (KEDA)

$ kubectl get apiservices | grep -E 'custom.metrics|external.metrics|metrics.k8s.io'
v1beta1.external.metrics.k8s.io             keda/keda-operator-metrics-apiserver   True        217d
v1beta1.metrics.k8s.io                      qks-system/qks-metrics-server          True        426d

# captured: 2026-07-02T01:50:58Z

→ external.metrics.k8s.io(KEDA)가 제공되어 요청량 · 큐 길이 등 외부/커스텀 메트릭 기반 HPA 스케일링이 가능.

관련 링크

  • 재현 스크립트: conformance/08-pod-autoscaling/pod-autoscaling-verify.sh