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 em um pacote com o Google Distributed Cloud e é especialmente fácil de configurar. Os componentes do MetalLB são executados nos nós do cluster, e 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.