Equilíbrio de carga do Google Cloud - Decisões ativas / em espera (ativo / passivo) são possíveis?

1

Estou tentando criar um ativo / passivo cluster no GCP, e estou procurando usar o balanceador de carga nativo para conseguir isso. Por exemplo, eu quero que o balanceador de carga apenas encaminhe o tráfego para um determinado conjunto de nós (os nós em espera) somente se o conjunto principal de nós (os nós ativos) falhar na verificação de integridade. Eu teria pensado que isso seria possível, mas não vejo nenhuma opção que me permita alcançar isso. Pelo que eu posso dizer, apenas o balanceamento de carga round robin é possível, ou estou faltando alguma coisa?

    
por treetop 20.07.2018 / 22:22

2 respostas

1

O balanceamento de carga round robin é usado apenas para instâncias de computação no mesmo MIG (Grupo de instâncias gerenciadas). Se você quiser ter controle sobre os modos de balanceamento, precisará colocar os nós ativos e passivos em nós e regiões / zonas separados. Novamente, por que se preocupar com nós ativos / passivos, quando você pode tornar seus nós ativos altamente disponíveis implantando-os em várias zonas e regiões? O GLB selecionará os nós ativos saudáveis.

Se você acha que ainda precisa de nós ativos / passivos, até onde eu sei, o GCP não fornece o recurso exato que você está solicitando, mas acho que você pode se aproximar ajustando a propriedade balancingMode e capacity setting do recurso de serviços de back-end do GLB. Por exemplo, você pode definir a utilização e a capacidade de cpu dos nós em espera para quase zero (mas não zero) e configurá-lo para 100% nos nós ativos. Dessa forma, o balanceador de carga enviará todo ou a maior parte do tráfego para os nós ativos, somente quando os nós ativos falharem, ele roteará o tráfego para os nós passivos. Como o GLB também é baseado em geo, você pode colocar seus nós ativos em um MIG mais próximo dos clientes.

Referência - documentação global do balanceador de carga HTTP do Google

    
por 27.07.2018 / 20:26
1

Não encontrei esse recurso no GCP. No entanto, se usar um LB de HTTPs, só posso pensar em ter dois conjuntos de IMG e definir o ajuste de capacidade no backend. Assim, um IMG terá 100% para receber todas as solicitações e o segundo IMG definido como 0%.

Você precisará monitorar a verificação de integridade do IMG ou da instância e, se alguns não estiverem íntegros, poderá alterar as configurações de capacidade de ambos os grupos usando as chamadas de APIs. Você precisará ter um cron job para monitorar e um script que será executado na chamada de APIs.

Como alternativa, você pode tentar definir o autorrecuperador Assim, a instância que não é bem-sucedida é reparada, pois é uma maneira melhor e mais fácil de recuperar instâncias não íntegras.

Se não for isso que você está procurando, envie uma Solicitação de recurso aqui para Balanceamento de carga.

    
por 27.07.2018 / 19:55