멀티 클러스터 Google Kubernetes Engine (GKE) Inference Gateway는 여러 GKE 클러스터에서 AI/ML 추론 워크로드의 부하를 분산합니다. AI/ML 모델 서빙을 위한 Inference Gateway와 클러스터 간 트래픽 라우팅을 위한 GKE 멀티 클러스터 게이트웨이를 통합합니다. 이 통합을 통해 배포의 확장성과 고가용성이 개선됩니다. 이 문서에서는 게이트웨이의 핵심 개념과 이점을 설명합니다.
멀티 클러스터 GKE Inference Gateway를 배포하는 방법에 대한 자세한 내용은 GKE 멀티 클러스터 Inference Gateway 설정을 참조하세요.
이 문서를 이해하려면 다음 사항을 잘 알고 있어야 합니다.
- GKE의 AI/ML 조정
- 생성형 AI 용어.
- 서비스, GKE 멀티 클러스터 게이트웨이, 및 Gateway API를 비롯한 GKE 네트워킹 개념
- 의 부하 분산 Google Cloud, 특히 부하 분산기가 GKE와 상호작용하는 방식
이 문서는 다음 페르소나를 대상으로 합니다.
- AI/ML 워크로드를 서빙하기 위해 Kubernetes 컨테이너 조정 기능을 사용하는 데 관심이 있는 머신러닝 (ML) 엔지니어, 플랫폼 관리자 및 운영자, 데이터 및 AI 전문가
- Kubernetes 네트워킹과 상호작용하는 클라우드 설계자 또는 네트워킹 전문가
콘텐츠에서 참조하는 일반적인 역할과 예시 태스크에 대한 자세한 내용은 일반 GKE 기업 사용자 역할 및 태스크를 참조하세요.Google Cloud
GKE 멀티 클러스터 Inference Gateway의 이점
멀티 클러스터 GKE Inference Gateway는 다음과 같은 AI/ML 추론 워크로드 관리에 여러 가지 이점을 제공합니다.
- 서로 다른 지리적 리전에서도 여러 GKE 클러스터에서 지능형 부하 분산을 통해 고가용성 및 내결함성을 향상합니다. 추론 워크로드는 계속 사용할 수 있으며 클러스터 또는 리전에 문제가 발생하면 시스템이 자동으로 요청을 재라우팅하여 다운타임을 최소화합니다.
- 다양한 클러스터의 GPU 및 TPU 리소스를 풀링하여 증가된 수요를 처리함으로써 확장성을 개선하고 리소스 사용률을 최적화합니다. 이 풀링을 통해 워크로드가 단일 클러스터의 용량을 초과하여 버스트할 수 있으며 Fleet에서 사용 가능한 리소스를 효율적으로 사용할 수 있습니다.
- 전역적으로 최적화된 라우팅으로 성능을 극대화합니다. 게이트웨이는 모든 클러스터의 키-값 (KV) 캐시 사용량과 같은 고급 측정항목을 사용하여 효율적인 라우팅 결정을 내립니다. 이 접근 방식을 사용하면 요청이 이를 처리하는 데 가장 적합한 클러스터로 이동하도록 보장하여 AI/ML 추론 Fleet의 전반적인 성능을 극대화할 수 있습니다.
제한사항
멀티 클러스터 GKE Inference Gateway에는 다음과 같은 제한사항이 있습니다.
Model Armor 통합: 멀티 클러스터 GKE Inference Gateway는 Model Armor 통합을 지원하지 않습니다.
Envoy 프록시 지연 시간 보고: Envoy 프록시는 성공한 (
2xx) 요청에 대한 쿼리 지연 시간만 보고합니다. 오류 및 시간 제한은 무시합니다. 이 동작으로 인해 전역 서버 부하 분산기 (GSLB)가 실패한 백엔드의 실제 부하를 과소평가하여 이미 과부하된 서비스로 더 많은 트래픽을 보낼 수 있습니다. 이 문제를 완화하려면 더 큰 요청 시간 제한을 구성하세요. 예를 들어600s값이 권장됩니다.네트워크 엔드포인트 그룹 (NEG) 한도: 백엔드 서비스당 50개의 NEG 한도가 있습니다. Google Cloud 멀티 포트 InferencePool을 사용하는 경우 각 영역의 각 포트에서 전용 NEG를 만듭니다. 예를 들어 일반적인 리전 클러스터 (영역 3개)에서 포트가 8개인 InferencePool은 24개의 NEG를 생성합니다. 따라서 멀티 클러스터 게이트웨이는 50개의 NEG 한도에 도달하기 전에 최대 2개의 클러스터 (클러스터 2개 × NEG 24개 = NEG 48개)에서만 이러한 InferencePool을 집계할 수 있습니다.
주요 구성요소
멀티 클러스터 GKE Inference Gateway는 여러 Kubernetes 커스텀 리소스를 사용하여 추론 워크로드 및 트래픽 라우팅을 관리합니다.
- InferencePool: 대상 클러스터에서 동일한 모델 서버 백엔드를 그룹화합니다. 이 리소스는 모델 서빙 인스턴스의 관리 및 확장을 간소화합니다. 멀티 포트 InferencePool 객체는 단일 클러스터 및 멀티 클러스터 배포에서 지원됩니다.
InferenceObjective: InferencePool 내에서 특정 모델의 라우팅 우선순위를 정의합니다. 이 라우팅은 요구사항에 따라 특정 모델이 트래픽 우선순위를 받도록 보장하는 데 도움이 됩니다.GCPInferencePoolImport: 구성 클러스터에서HTTPRoute를 사용하여 모델 백엔드를 라우팅 구성에 사용할 수 있도록 합니다. 이 리소스는 대상 클러스터에서 InferencePool을 내보낼 때 구성 클러스터에서 자동으로 생성됩니다. 구성 클러스터는 멀티 클러스터 환경의 중앙 제어 지점 역할을 합니다.GCPBackendPolicy: 백엔드로 트래픽이 부하 분산되는 방식을 맞춤설정합니다. 예를 들어 커스텀 측정항목을 기반으로 부하 분산을 사용 설정하거나 엔드포인트당 전송 중인 요청에 한도를 설정하여 모델 서버를 보호할 수 있습니다.AutoscalingMetric: 모델 서버에서 내보낼vllm:kv_cache_usage_perc와 같은 커스텀 측정항목을 정의합니다. 그런 다음GCPBackendPolicy내에서 이러한 측정항목을 사용하여 더 지능적인 부하 분산 결정을 내리고 성능과 리소스 사용률을 최적화할 수 있습니다.
멀티 클러스터 GKE Inference Gateway 작동 방식
멀티 클러스터 GKE Inference Gateway는 여러 GKE 클러스터에 배포된 AI/ML 모델로 트래픽을 관리하고 라우팅합니다. 작동 방식은 다음과 같습니다.
- 중앙 집중식 트래픽 관리: 전용 구성 클러스터 가 트래픽 라우팅 규칙을 정의합니다. 구성 클러스터는 멀티 클러스터 환경의 중앙 제어 지점 역할을 합니다. Fleet에 멀티 클러스터 인그레스를 사용 설정할 때 GKE 클러스터를 구성 클러스터로 지정합니다. 이 중앙 집중식 접근 방식을 사용하면 단일 위치에서 전체 GKE 클러스터 Fleet에서 모델로 요청이 전달되는 방식을 관리할 수 있습니다.
- 유연한 모델 배포: 실제 AI/ML 모델은 별도의 대상 클러스터 에서 실행됩니다. 이 분리를 통해 가장 적합한 위치 (예: 데이터에 더 가까운 위치 또는 특정 하드웨어가 있는 클러스터)에 모델을 배포할 수 있습니다.
- 모델의 간편한 통합: 대상 클러스터에 모델을 배포할 때 InferencePool을 사용하여 서빙 인스턴스를 그룹화합니다. 이 InferencePool을 내보내면 구성 클러스터에서 라우팅에 자동으로 사용할 수 있습니다.
- 지능형 부하 분산: 게이트웨이는 트래픽을 분산할 뿐만 아니라 지능형 라우팅 결정을 내립니다. 모델 서버의 커스텀 측정항목을 비롯한 다양한 신호를 사용하도록 구성하면 게이트웨이는 수신 요청이 가장 적합한 클러스터 또는 모델 인스턴스로 전송되도록 보장하여 성능과 리소스 사용률을 극대화할 수 있습니다. 예를 들어 키-값 (KV) 캐시 사용량과 같은 측정항목을 기반으로 사용 가능한 추론 용량이 가장 많은 클러스터로 요청을 라우팅할 수 있습니다.
다음 단계
- 게이트웨이를 배포하려면 멀티 클러스터 GKE Inference Gateway 설정을 참조하세요.
GCPBackendPolicy리소스에서scopes필드를 사용하는 방법을 알아보려면GCPBackendPolicy범위로 백엔드 구성 맞춤설정을 참조하세요.