Visão geral do balanceamento de carga do Google Distributed Cloud

Neste documento, explicamos as opções de balanceamento de carga compatíveis com o Google Distributed Cloud.

Há várias opções de balanceamento de carga disponíveis. Escolha a opção mais adequada para seu ambiente e suas necessidades. Por exemplo, escolha uma opção que exija configuração mínima. Ou você pode escolher uma opção que se alinhe aos balanceadores de carga que você já tem na sua rede.

Estas são as opções disponíveis:

  • Pacote MetalLB

  • Balanceamento de carga manual para qualquer balanceador de carga de terceiros, como o F5 BIG-IP Citrix

MetalLB

O balanceador de carga MetalLB é fornecido com o Google Distributed Cloud e é especialmente fácil de configurar. Os componentes do MetalLB são executados nos nós do cluster. Assim, você não precisa criar VMs separadas para o balanceador de carga.

É possível configurar o MetalLB para gerenciar o endereço IP. Isso significa que, quando um desenvolvedor cria um serviço do tipo LoadBalancer, ele não precisa especificar um VIP para o serviço. Em vez disso, o MetalLB escolhe automaticamente um VIP de um pool de endereços que você fornece com antecedência.

Para mais informações, consulte Balanceamento de carga em pacote com o MetalLB.

Citrix

Neste documento, documentamos como configurar o balanceador de carga Citrix como exemplo de configuração manual. Com qualquer balanceador de carga configurado manualmente, é necessário configurar mapeamentos entre VIPs, endereços de nó e valores nodePort. Para informações sobre como fazer isso no balanceador de carga Citrix, consulte Balanceamento de carga manual com o Citrix.

Balanceamento de carga manual em geral

É possível usar qualquer balanceador de carga de sua escolha, desde que você o configure manualmente. Com qualquer balanceador de carga configurado manualmente, é preciso configurar mapeamentos entre VIPs, endereços de nó e valores nodePort. Para informações gerais sobre como fazer isso, consulte Balanceamento de carga manual.

Como separar endereços IP virtuais

Independentemente do modo de balanceamento de carga, você precisa reservar os endereços IP virtuais (VIPs) que pretende usar no balanceamento de carga.

Para o cluster de administrador, você precisa reservar estes VIPs:

  • VIP para o servidor da API Kubernetes
  • VIP para complementos

Para cada cluster de usuário que você pretende criar, é necessário reservar estes VIPs:

  • VIP para o servidor da API Kubernetes
  • VIP para o serviço de entrada

Por exemplo, suponha que você pretenda ter dois clusters de usuário. Em seguida, você precisará de dois VIPs para o cluster de administrador e dois VIPs para cada um dos clusters de usuário. Então, você precisa reservar nove VIPs.

Endereços IP de nós

Se você escolher o MetalLB como balanceador de carga, poderá usar endereços IP estáticos para os nós do cluster ou fazer com que esses nós recebam endereços IP de um servidor DHCP.

Se escolher uma opção de balanceamento de carga manual, você precisará usar endereços IP estáticos para os nós do cluster.

Se você optar por usar endereços IP estáticos, precisará reservar endereços suficientes para os nós no cluster de administrador e para os nós em todos os clusters de usuário que você pretenda criar. Para detalhes sobre quantos endereços IP de nó precisam ser reservados, consulte Planejar seus endereços de IP.

Como criar serviços no cluster

Depois que o cluster de usuários estiver em execução, os desenvolvedores de apps podem querer criar serviços do Kubernetes e expor esses serviços a clientes externos.

Para serviços do tipo LoadBalancer, os VIPs precisam ser configurados no balanceador de carga. A configuração desses VIPs depende da escolha do balanceador de carga.

MetalLB

No arquivo de configuração do cluster de usuário, especifique pools de endereços que o controlador MetalLB usa para atribuir VIPs aos serviços. Quando um desenvolvedor cria um serviço do tipo LoadBalancer, o controlador do MetalLB escolhe um endereço de um pool e atribui o endereço ao serviço. O desenvolvedor não precisa especificar um valor para loadBalancerIP no manifesto do serviço.

Balanceador de carga configurado manualmente

Se você escolheu uma opção de balanceamento de carga manual, os desenvolvedores podem seguir estas etapas 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 balanceador de carga para que o tráfego enviado ao VIP seja encaminhado ao serviço.