Sobre a alta disponibilidade elástica entre regiões

É possível alcançar alta disponibilidade elástica entre regiões para cargas de trabalho exigentes de inferência de IA no Google Kubernetes Engine (GKE) e acessar a capacidade do acelerador em diferentes regiões de maneira eficiente e confiável. Cloud de Confiance Essa solução usa o gateway de inferência multicluster do GKE e os recursos de escalonamento automático do GKE, permitindo que suas cargas de trabalho acessem e escalonem com capacidade de acelerador em várias regiões. Essa abordagem aumenta a disponibilidade, a escalonabilidade e a resiliência de recursos para seus aplicativos de IA. Este documento descreve os benefícios, os principais componentes e a mecânica geral de como funciona a alta disponibilidade elástica entre regiões.

Antes de ler este documento, conheça bem os seguintes tópicos:

Este documento é destinado aos seguintes perfis:

  • Engenheiros de machine learning (ML), administradores e operadores de plataforma e especialistas em dados e IA interessados em usar o Kubernetes para veicular cargas de trabalho de IA/ML
  • Arquitetos de nuvem ou especialistas em redes que interagem com a rede do Kubernetes

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

Benefícios da alta disponibilidade elástica entre regiões

A alta disponibilidade elástica entre regiões oferece vários benefícios importantes para gerenciar suas cargas de trabalho de inferência de IA/ML, incluindo:

  • Maior capacidade e escalonabilidade:supere a escassez de aceleradores de região única agrupando recursos de GPU ou TPU de vários clusters em diferentes regiões. Também é possível usar diferentes tipos de aceleradores para aumentar ainda mais o pool de capacidade. Essa abordagem permite que suas cargas de trabalho de inferência de IA excedam a capacidade de qualquer região ou tipo de acelerador, aproveitando automaticamente os recursos disponíveis na sua frota, seja qual for a região.
  • Transbordamento automático e maior confiabilidade e disponibilidade:o gateway roteia o tráfego de maneira inteligente, priorizando regiões ou clusters preferidos. Quando os limites de capacidade são atingidos em um local, o tráfego é automaticamente transferido para outros locais que têm recursos disponíveis. Essa abordagem, combinada com implantações multirregionais, aumenta a alta disponibilidade e a tolerância a falhas porque o sistema pode ignorar clusters ou regiões que estão com problemas.
  • Distribuição de tráfego otimizada por IA:use o balanceamento de carga baseado em utilização com métricas personalizadas específicas de IA, como o uso do cache de chave-valor. Essa configuração garante decisões de roteamento otimizadas globalmente. A distribuição de tráfego otimizada por IA envia solicitações aos back-ends equipados para processá-las, o que aumenta a maximização da performance e ajuda a evitar sobrecarga em toda a frota de inferência em vários clusters.

Como funciona a alta disponibilidade elástica entre regiões

A alta disponibilidade elástica entre regiões no GKE permite que suas cargas de trabalho de inferência de IA usem automaticamente a capacidade do acelerador (como GPUs ou TPUs) em várias regiões do Cloud de Confiance . Quando a região principal enfrenta restrições de capacidade para os recursos necessários, essa solução encaminha o tráfego de maneira inteligente e dimensiona as cargas de trabalho para outras regiões com capacidade disponível, respeitando as preferências definidas.

A seguir, explicamos os principais componentes da alta disponibilidade elástica entre regiões e como eles funcionam juntos:

  • Gateway de inferência de vários clusters: o aplicativo de inferência é implantado em vários clusters do GKE em diferentes regiões. Esses clusters são gerenciados como parte de uma frota do GKE. Um gateway de inferência de vários clusters do GKE (MCG) é configurado com um balanceador de carga interno, que fornece um único endpoint privado para suas solicitações de inferência. Esse gateway conhece as implantações de serviço em todos os clusters da frota.
  • Balanceamento baseado em utilização: em vez de usar taxas básicas de solicitação, o balanceador de carga distribui o tráfego com base em métricas de utilização personalizadas em tempo real informadas pelos servidores de modelo. Para inferência de IA, geralmente é uma métrica como a utilização do cache KV, que reflete a carga real no servidor.
  • Preferências de local e recursos: é possível configurar quais regiões ou zonas podem executar suas cargas de trabalho de inferência de IA durante a criação do cluster e especificar uma ordem de preferência usando o seguinte:
    • GCPBackendPolicy: essa política está anexada ao gateway e permite definir back-ends preferenciais. É possível especificar para quais regiões (ou seja, clusters) o balanceador de carga deve priorizar o envio de tráfego. Essa política geralmente é alinhada com a capacidade reservada ou com requisitos de baixa latência.
    • Classe de computação personalizada (opcional, se você usar a criação automática de pool de nós): em cada cluster do GKE, é possível usar objetos ComputeClass personalizados para definir tipos de nós preferenciais, incluindo tipos de máquinas (por exemplo, a3-highgpu-8g), tipos de capacidade (como reservada, sob demanda e spot) e até mesmo zonas preferenciais nessa região.
  • Escalonamento dinâmico e roteamento de tráfego: o tráfego é escalonado e roteado de acordo com o seguinte processo:
    • As solicitações recebidas chegam ao balanceador de carga interno do gateway de entrada de vários clusters.
    • O balanceador de carga, orientado pelo GCPBackendPolicy, envia o tráfego primeiro para os back-ends nas regiões preferidas.
    • O tráfego é distribuído em uma região e entre back-ends com base nas métricas de utilização personalizadas.
    • O escalonador automático horizontal de pods (HPA) em cada cluster aumenta ou diminui o número de pods do servidor de modelo com base nas mesmas métricas de utilização.
    • O escalonador automático de cluster do GKE e o provisionamento automático de nós, orientados pela ComputeClass personalizada, adicionam ou removem nós dos tipos e zonas preferenciais para atender às demandas de escalonamento do pod.
  • Alta disponibilidade elástica entre regiões em ação: se os servidores de modelo nas regiões preferenciais forem totalmente utilizados (ou seja, sem capacidade adicional disponível), o balanceador de carga vai transferir automaticamente o tráfego para clusters em outras regiões configuradas que tenham capacidade disponível. O HPA e o escalonador automático de cluster escalonam verticalmente os recursos nessas regiões de substituição conforme necessário.

A seguir