이 섹션에서는 포드 또는 워크로드에서 부하 분산기로 하나 이상의 측정항목을 전송하는 방법을 설명합니다.
이러한 측정항목은 실행 중인 서비스 또는 애플리케이션에서 가져옵니다. 예를 들어 vLLM 엔진에서 노출된 측정항목을 참고하세요.
그러면 부하 분산기가 이 데이터를 사용률 기반 부하 분산과 함께 사용하여 워크로드를 더 효율적으로 분산할 수 있습니다. 예를 들어 이 기능을 사용하여 워크로드 사용량이 많은 리전을 모니터링한 다음 부하 분산기가 사용 가능한 리소스가 더 많은 리전으로 트래픽을 리디렉션하도록 허용할 수 있습니다. vLLM 예시에서 사용량을 추적하는 데 유용할 수 있는 측정항목은 gpu_cache_usage_perc
입니다.
요구사항
포드 요구사항은 다음과 같습니다.
- 빠른 채널의 클러스터가 있는 GKE 1.34.1-gke.1127000 이상
- 게이트웨이 API가 사용 설정됨
- 성능 프로필과 함께 수평형 포드 자동 확장 사용
측정항목에 대한 요구사항은 다음과 같습니다.
- 측정항목은 HTTP 엔드포인트에서 액세스할 수 있어야 합니다.
- 측정항목 형식은 Prometheus 표준이어야 합니다.
부하 분산기에는 측정항목 이름에 제한사항이 있습니다. 예를 들어 이름은 64자(영문 기준)를 초과할 수 없습니다. 전체 제한사항 목록은
BackendService
API 참조의backends[].customMetrics[].name
필드에 관한 세부정보를 참고하세요.서비스의 측정항목이 이러한 제한사항을 준수하지 않는 경우
exportName
필드를 사용하여 이름을 바꿀 수 있습니다.0~1 사이의 게이지 측정항목만 지원되며 1은 100% 사용률을 나타냅니다.
측정항목 라벨은 무시되므로 측정항목을 구분하는 데 사용할 수 없습니다. 워크로드가 여러 라벨로 동일한 측정항목을 노출하지 않는지 확인합니다.
클러스터당 최대 10개의 측정항목을 노출할 수 있습니다. 다른 서비스에는 자체 한도가 있습니다. 예를 들어 부하 분산기 제한 및 요구사항을 참고하세요. 클러스터는 두 개 이상의 부하 분산기를 사용할 수 있습니다.
부하 분산 측정항목 노출
노출할 측정항목을 선택합니다. 서버에서 노출하고 이전 섹션에 나열된 요구사항을 충족하는 측정항목을 선택할 수 있습니다.
측정항목 및 포드에 해당하는 세부정보를 대체하여 다음 맞춤 리소스를 추가합니다.
apiVersion: autoscaling.gke.io/v1beta1 kind: AutoscalingMetric metadata: name: NAME namespace:NAMESPACE spec: selector: matchLabels: name: APP_LABEL_NAME endpoints: - port: METRIC_PORT path: METRIC_PATH metrics: - name: METRIC exportName: METRIC_NEW_NAME
워크로드에 맞게 다음을 바꿉니다.
NAME
: AutoscalingMetric 객체의 이름입니다.NAMESPACE
: 포드가 있는 네임스페이스입니다.APP_LABEL_NAME
: 포드에 사용된 라벨입니다.METRIC_PORT
: 포트 번호입니다.METRIC_PATH
: 측정항목의 경로입니다. 서비스 또는 애플리케이션에서 사용하는 경로를 확인합니다. 이 경로는 보통/metrics
입니다.METRIC
: 노출할 측정항목의 이름입니다.선택사항:
METRIC_NEW_NAME
: 이 필드를 사용하여 측정항목의 이름을 바꿀 수 있습니다. 측정항목 이름이 부하 분산기에서 설정한 이름 제한을 준수하지 않는 경우 이 필드를 사용하여 유효한 이름으로 이름을 바꿉니다.전체 제한사항 목록은
BackendService
API 참조의backends[].customMetrics[].name
필드에 관한 세부정보를 참고하세요.
다음 명령어를 사용하여 리소스를 적용합니다.
kubectl apply -f FILE_NAME.yaml
FILE_NAME
를 YAML 파일 이름으로 바꿉니다.커스텀 리소스를 추가하면 측정항목이 자동 확장 API로 푸시됩니다. 측정항목은 몇 초마다 읽혀 부하 분산기로 전송됩니다.
두 번째 측정항목을 노출하려면 동일한 단계에 따라 다른 맞춤 리소스를 만드세요.
이제 측정항목을 부하 분산기에 노출했으므로 이러한 측정항목을 사용하도록 부하 분산기를 구성할 수 있습니다. 자세한 내용은 커스텀 측정항목을 사용하도록 부하 분산기 구성을 참고하세요.
부하 분산기 사용에 대한 자세한 내용은 GKE 서비스의 사용률 기반 부하 분산 구성을 참고하세요.
부하 분산기에 노출된 측정항목 문제 해결
측정항목이 부하 분산기에 올바르게 노출되는지 확인하려면 다음을 수행하면 됩니다.
- GKE 측정항목 에이전트에서 로그를 확인합니다. 측정항목을 노출하려고 할 때 오류가 발생한 경우 로그에 오류가 있다고 표시될 수 있습니다. 오류를 찾는 방법에 관한 자세한 내용은 시스템 측정항목 문제 해결을 참고하세요.
- 연습 실행 모드에서 부하 분산기를 사용하여 수신되는 모든 측정항목을 확인할 수 있습니다.
dryRun
플래그를 사용하여 측정항목을 테스트하는 방법을 자세히 알아보려면 커스텀 측정항목을 사용하도록 부하 분산기 구성을 참고하세요.
다음 단계
- 사용률 기반 부하 분산에 대한 자세한 내용은 GKE 서비스의 사용률 기반 부하 분산기 정보를 참고하세요.
- GKE 서비스의 사용률 기반 부하 분산을 구성하는 방법을 알아봅니다.