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