Sobre o GKE Inference Gateway de vários clusters

O GKE Inference Gateway multicluster faz o balanceamento de carga das cargas de trabalho de inferência de IA/ML em vários clusters do GKE. Ele integra gateways multicluster do GKE para roteamento de tráfego entre clusters com o Inference Gateway para disponibilização de modelos de IA/ML. Essa integração melhora a escalonabilidade e a alta disponibilidade das implantações. Este documento explica os principais conceitos e benefícios do gateway.

Para mais informações sobre como implantar o GKE Inference Gateway multicluster, consulte Configurar o GKE Inference Gateway multicluster.

Para entender este documento, você precisa conhecer os seguintes conceitos:

Este documento é destinado às seguintes pessoas:

  • Engenheiros de machine learning (ML), administradores e operadores de plataforma e especialistas em dados e IA interessados em usar os recursos de orquestração de contêineres do Kubernetes para veiculação de cargas de trabalho de IA/ML.
  • Arquitetos de nuvem ou especialistas em rede que interagem com a rede do Kubernetes.

Para saber mais sobre papéis comuns e tarefas de exemplo referenciados no Google Cloud conteúdo, consulte Tarefas e funções de usuário comuns do GKE Enterprise tasks.

Benefícios do GKE Inference Gateway multicluster

O GKE Inference Gateway multicluster oferece vários benefícios para gerenciar cargas de trabalho de inferência de IA/ML, incluindo o seguinte:

  • Melhora a alta disponibilidade e a tolerância a falhas com o balanceamento de carga inteligente em vários clusters do GKE, mesmo em regiões geográficas diferentes. As cargas de trabalho de inferência permanecem disponíveis, e o sistema redireciona automaticamente as solicitações se um cluster ou região tiver problemas, minimizando o tempo de inatividade.
  • Melhora a escalonabilidade e otimiza o uso de recursos agrupando recursos de GPU e TPU de vários clusters para lidar com o aumento da demanda. Esse agrupamento permite que as cargas de trabalho excedam a capacidade de um único cluster e usem com eficiência os recursos disponíveis em toda a frota.
  • Maximiza a performance com o roteamento otimizado globalmente. O gateway usa métricas avançadas, como o uso do cache de chave-valor (KV) de todos os clusters, para tomar decisões de roteamento eficientes. Essa abordagem ajuda a garantir que as solicitações sejam enviadas ao cluster mais bem equipado para processá-las, maximizando a performance geral da frota de inferência de IA/ML.

Limitações

O GKE Inference Gateway multicluster tem as seguintes limitações:

  • Integração do Model Armor: o GKE Inference Gateway multicluster não oferece suporte à integração do Model Armor.

  • Relatórios de latência do Envoy Proxy: o Envoy Proxy só informa a latência de consulta para solicitações bem-sucedidas (2xx). Ele ignora erros e tempos limite. Esse comportamento pode fazer com que o balanceador de carga global do servidor (GSLB) subestime a carga real em back-ends com falha, potencialmente direcionando mais tráfego para serviços já sobrecarregados. Para atenuar esse problema, configure um tempo limite de solicitação maior. Por exemplo, um valor de 600s é recomendado.

  • Limites do grupo de endpoints de rede (NEG): tem um limite de 50 NEGs por Google Cloud serviço de back-end. Ao usar um InferencePool de várias portas, cada porta em cada zona cria um NEG dedicado. Por exemplo, um InferencePool com oito portas em um cluster regional típico (três zonas) gera 24 NEGs. Portanto, um gateway multicluster só pode agregar um InferencePool desse tipo de um máximo de dois clusters (dois clusters × 24 NEGs = 48 NEGs) antes de atingir o limite de 50 NEGs.

Principais componentes

O GKE Inference Gateway multicluster usa vários recursos personalizados do Kubernetes para gerenciar cargas de trabalho de inferência e roteamento de tráfego:

  • InferencePool: agrupa back-ends idênticos do servidor de modelos no cluster de destino. Esse recurso simplifica o gerenciamento e o escalonamento das instâncias de veiculação de modelos. Objetos InferencePool de várias portas são compatíveis com implantações de cluster único e multicluster.
  • InferenceObjective: define prioridades de roteamento para modelos específicos em um InferencePool. Esse roteamento ajuda a garantir que determinados modelos recebam preferência de tráfego com base nos seus requisitos.
  • GCPInferencePoolImport: disponibiliza os back-ends do modelo para configuração de roteamento usando HTTPRoute no cluster de configuração. Esse recurso é criado automaticamente no cluster de configuração quando você exporta um InferencePool de um cluster de destino. O cluster de configuração atua como o ponto de controle central do ambiente multicluster.
  • GCPBackendPolicy: personaliza como o tráfego é balanceado para os back-ends. Por exemplo, é possível ativar o balanceamento de carga com base em métricas personalizadas ou definir limites para solicitações em trânsito por endpoint para proteger os servidores de modelos.
  • AutoscalingMetric: define métricas personalizadas, como vllm:kv_cache_usage_perc, para exportar dos servidores de modelos. Em seguida, é possível usar essas métricas em GCPBackendPolicy para tomar decisões de balanceamento de carga mais inteligentes e otimizar a performance e a utilização de recursos.

Como o GKE Inference Gateway multicluster funciona

O GKE Inference Gateway multicluster gerencia e roteia o tráfego para os modelos de IA/ML implantados em vários clusters do GKE. Isso funciona da seguinte maneira:

  • Gerenciamento de tráfego centralizado:um cluster de configuração dedicado define as regras de roteamento de tráfego. O cluster de configuração atua como o ponto de controle central do ambiente multicluster. Você designa um cluster do GKE como o cluster de configuração ao ativar a entrada multicluster para sua frota. Essa abordagem centralizada permite gerenciar como as solicitações são direcionadas aos modelos em toda a frota de clusters do GKE em um único lugar.
  • Implantação flexível de modelos:os modelos de IA/ML reais são executados em clusters de destino separados. Essa separação permite implantar modelos onde faz mais sentido (por exemplo, mais perto dos dados ou de clusters com hardware específico).
  • Fácil integração de modelos:ao implantar um modelo em um cluster de destino, você agrupa as instâncias de veiculação usando um InferencePool. A exportação desse InferencePool o disponibiliza automaticamente para roteamento no cluster de configuração.
  • Balanceamento de carga inteligente:o gateway não apenas distribui o tráfego, mas também toma decisões de roteamento inteligentes. Ao configurá-lo para usar vários indicadores, incluindo métricas personalizadas dos servidores de modelos, o gateway ajuda a garantir que as solicitações recebidas sejam enviadas ao cluster ou instância de modelo mais bem equipado, o que pode maximizar a performance e a utilização de recursos. Por exemplo, é possível rotear solicitações para o cluster com a maior capacidade de inferência disponível com base em métricas como o uso do cache de chave-valor (KV).

A seguir