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