Visão geral do balanceamento de carga para o GKE no VMware

Neste documento, explicamos as opções de balanceamento de carga compatíveis com o GKE no VMware.

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

  • Seesaw empacotado (não compatível com clusters de usuário que usam o Controlplane V2)

  • F5 BIG-IP integrado (não há suporte para clusters de usuário que usam o Controlplane V2.)

  • F5 BIG-IP configurado manualmente

  • Citrix configurado manualmente

  • Qualquer balanceador de carga configurado manualmente

MetalLB

O balanceador de carga MetalLB é fornecido com o GKE no VMware 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.

Seesaw

O balanceador de carga Seesaw é fornecido com GKE no VMware e requer uma configuração um pouco mais manual do que o exigido pelo MetalLB. O balanceador de carga Seesaw é executado em VMs separadas dos nós do cluster. O balanceador de carga do Seesaw não tem suporte para clusters de usuário que usam o Controlplane V2. Recomendamos que você use o MetalLB.

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

F5 BIG-IP

O balanceador de carga F5 BIG-IP não está incluído no GKE no VMware. Portanto, é necessário conseguir uma licença e configurar o balanceador de carga separadamente da instalação do GKE no VMware.

É possível configurar clusters do GKE no VMware para serem integrados ao F5 BIG-IP no seguinte sentido: quando um desenvolvedor cria um Serviço do tipo LoadBalancer e especifica um VIP para o serviço, o GKE no VMware configurará automaticamente o VIP no balanceador de carga.

A integração F5 Big-IP não tem suporte para clusters de usuário que usam o Controlplane V2. Em vez disso, é possível usar o F5 BIG-IP como um balanceador de carga configurado manualmente. Nesse caso, o GKE no VMware não configura os VIPs de serviço automaticamente.

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 uma das seguintes opções de balanceamento de carga, poderá usar endereços IP estáticos para os nós do cluster ou receber os endereços IP dos clusters de um servidor DHCP:

  • MetalLB
  • Seesaw
  • F5 BIG-IP integrado

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, crie serviços do Kubernetes e exponha-os aos 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.

Seesaw

Quando um desenvolvedor cria um serviço do tipo LoadBalancer, ele especifica um endereço IP externo. Exemplo:

spec:
  type: LoadBalancer
  loadBalancerIP: 192.168.100.1

O GKE no VMware configura automaticamente o endereço especificado em uma interface de rede de uma VM do Seesaw.

F5 BIG-IP integrado

Quando um desenvolvedor cria um serviço do tipo LoadBalancer, ele especifica um endereço IP externo. Exemplo:

spec:
  type: LoadBalancer
  loadBalancerIP: 192.168.100.2

O GKE no VMware configuram automaticamente o endereço especificado em uma interface de rede do balanceador de carga F5 BIG-IP.

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.