Este documento explica as opções de equilíbrio de carga suportadas pelo Google Distributed Cloud para novos clusters.
Tem duas opções de equilíbrio de carga disponíveis. Escolha a opção que lhe parecer mais adequada ao seu ambiente e necessidades. Por exemplo, pode escolher uma opção que exija uma configuração mínima. Em alternativa, pode escolher uma opção que se alinhe com os balanceadores de carga que já tem na sua rede.
Seguem-se as opções disponíveis:
MetalLB integrado
Balanceamento de carga manual para qualquer balanceador de carga de terceiros, como F5 BIG-IP Citrix
Quando cria clusters de utilizadores através da Google Cloud consola, da
CLI gcloud ou do Terraform, o tipo de equilibrador de carga para o cluster de administrador e os respetivos clusters de utilizadores tem de ser o mesmo. A única exceção é se o cluster de administrador usar o Seesaw. Nesse caso, os clusters de utilizador podem usar o MetalLB. Se quiser que os clusters de administrador e de utilizador usem diferentes tipos de equilibradores de carga, tem de criar clusters de utilizador com a ferramenta de linha de comandos gkectl
.
MetalLB
O equilibrador de carga MetalLB está incluído no Google Distributed Cloud e é especialmente fácil de configurar. Os componentes do MetalLB são executados nos nós do cluster, pelo que não tem de criar VMs separadas para o equilibrador de carga.
Pode configurar o MetalLB para fazer a gestão de endereços IP. Isto significa que quando um programador cria um serviço do tipo LoadBalancer
, não tem de especificar um VIP para o serviço. Em alternativa, o MetalLB escolhe automaticamente um VIP de um conjunto de endereços que fornece antecipadamente.
Para mais informações, consulte o artigo Equilíbrio de carga integrado com o MetalLB.
Citrix
Documentamos como configurar o balanceador de carga Citrix como exemplo de configuração manual de um balanceador de carga. Com qualquer equilibrador de carga que configurar manualmente, tem de configurar mapeamentos entre VIPs, endereços de nós e valores nodePort
.
Para obter informações sobre como o fazer para o balanceador de carga do Citrix, consulte o artigo
Balanceamento de carga manual com o Citrix.
Balanceamento de carga manual em geral
Pode usar qualquer equilibrador de carga à sua escolha, desde que o configure manualmente.
Com qualquer equilibrador de carga que configurar manualmente, tem de configurar mapeamentos entre VIPs, endereços de nós e valores nodePort
. Para obter informações gerais sobre como o fazer, consulte o artigo Equilíbrio de carga manual.
Reservar endereços IP virtuais
Independentemente do balanceador de carga que usar, tem de reservar vários endereços IP virtuais (VIPs) que pretende usar para o balanceamento de carga.
Para o cluster de administrador, tem de reservar estes IPs virtuais:
- VIP para o servidor da API Kubernetes
- VIP para suplementos
Para cada cluster de utilizadores que pretenda criar, tem de reservar estes VIPs:
- VIP para o servidor da API Kubernetes
- VIP para o serviço de entrada
Por exemplo, suponhamos que pretende ter dois clusters de utilizadores. Em seguida, precisaria de dois IPs virtuais para o cluster de administrador e dois IPs virtuais para cada um dos clusters de utilizadores. Por isso, teria de reservar seis VIPs.
Endereços IP dos nós
Se escolher o MetalLB como equilibrador de carga, pode usar endereços IP estáticos para os nós do cluster ou fazer com que os nós do cluster obtenham os respetivos endereços IP a partir de um servidor DHCP
Se escolher uma opção de equilíbrio de carga manual, tem de usar endereços IP estáticos para os nós do cluster.
Se optar por usar endereços IP estáticos, tem de reservar endereços suficientes para os nós no cluster de administrador e os nós em todos os clusters de utilizador que pretende criar. Para ver detalhes sobre quantos endereços IP de nós reservar, consulte o artigo Planeie os seus endereços IP.
Criar serviços no cluster
Depois de o cluster de utilizadores estar em execução, os programadores de aplicações podem querer criar serviços Kubernetes e expô-los a clientes externos.
Para serviços do tipo LoadBalancer
, os VIPs têm de ser configurados no equilibrador de carga. A forma como esses IPs virtuais são configurados depende da sua escolha do equilibrador de carga.
MetalLB
No ficheiro de configuração do cluster de utilizadores, especifica os conjuntos de endereços que o controlador MetalLB usa para atribuir VIPs aos serviços. Quando um programador cria um serviço do tipo LoadBalancer
, o controlador MetalLB escolhe um endereço de um conjunto e atribui o endereço ao serviço. O programador não tem de especificar um valor para loadBalancerIP
no manifesto de serviço.
Balanceador de carga configurado manualmente
Se escolheu uma opção de balanceamento de carga manual, os programadores podem seguir estes passos para expor um serviço a clientes externos:
Crie um serviço do tipo NodePort.
Escolha um VIP para o serviço.
Configure manualmente o equilibrador de carga para que o tráfego enviado para o VIP seja encaminhado para o serviço.