É possível alcançar a alta disponibilidade elástica entre regiões para cargas de trabalho exigentes de inferência de IA no Google Kubernetes Engine (GKE) para acessar a capacidade do acelerador de maneira eficiente e confiável em diferentes Cloud de Confiance regiões. Essa solução usa o gateway de inferência de vários clusters do GKE e os recursos de escalonamento automático do GKE, permitindo que as cargas de trabalho acessem e escalonem com a capacidade do acelerador em várias regiões. Essa abordagem melhora a disponibilidade, a escalonabilidade e a resiliência dos recursos para seus aplicativos de IA. Este documento descreve os benefícios, os principais componentes e a mecânica geral de como a alta disponibilidade elástica entre regiões funciona.
Antes de ler este documento, conheça bem os seguintes tópicos:
- Gateway de inferência de vários clusters do GKE
- Back-ends preferenciais para opções avançadas de balanceamento de carga
- Escalonador automático de clusters do GKE
- Como configurar o escalonamento automático horizontal de pods
Este documento é destinado às seguintes pessoas:
- Engenheiros de machine learning (ML), administradores e operadores de plataformas e especialistas em dados e IA interessados em usar o Kubernetes para disponibilizar 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 Cloud de Confiance conteúdo, consulte Funções e tarefas comuns de usuário corporativo do GKE Enterprise e tarefas.
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 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 expandir ainda mais o pool de capacidade. Essa abordagem permite que as 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 frota, independentemente da região.
- Transbordamento automatizado e maior confiabilidade e disponibilidade:o gateway roteia o tráfego de maneira inteligente, priorizando regiões ou clusters preferenciais. 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, melhora 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 para IA:use o balanceamento de carga baseado na 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 para IA envia solicitações aos back-ends equipados para processá-las, o que melhora a maximização do desempenho e ajuda a evitar sobrecarga em toda a frota de inferência de 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 as cargas de trabalho de inferência de IA usem automaticamente a capacidade do acelerador (como GPUs ou TPUs) em várias Cloud de Confiance regiões. Quando a região principal tem restrições de capacidade para os recursos necessários, essa solução roteia o tráfego de maneira inteligente e escalona 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 (MCG, na sigla em inglês) do GKE é configurado com um balanceador de carga interno, que fornece um endpoint único e particular para as solicitações de inferência. Esse gateway reconhece as implantações de serviço em todos os clusters da frota.
- Balanceamento baseado na utilização: em vez de usar taxas de solicitação básicas, 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, essa é geralmente uma métrica como a utilização do cache KV, que reflete a carga real no servidor.
- Preferências de local e recurso: é possível configurar quais regiões ou
zonas podem executar 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 é 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 está alinhada com o local em que você reservou capacidade ou onde tem requisitos de latência mais baixos.- 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 reservados, 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 pela
GCPBackendPolicy, envia o tráfego para back-ends nas regiões preferenciais primeiro. - O tráfego é distribuído em uma região e entre back-ends com base nas métricas de utilização personalizadas.
- O Autoescalonador Horizontal de Pods (HPA) em cada cluster escalona o número de pods do servidor de modelo para cima ou para baixo com base nas mesmas métricas de utilização.
- O escalonador automático de clusters 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 ficarem 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 clusters escalonar verticalmente os recursos nessas regiões de failover conforme necessário.
A seguir
- Saiba como implantar uma solução de alta disponibilidade elástica entre regiões em Configurar a alta disponibilidade elástica entre regiões.