Os clusters do Anthos em clusters do VMware (GKE On-Prem) podem ser executados com um dos três modos de balanceamento de carga: integrado, em pacote ou manual. Com o modo integrado, os clusters do Anthos no cluster do VMware usam o balanceador de carga F5 BIG-IP. Com o modo empacotado, os clusters do Anthos no VMware fornecem e gerenciam o balanceador de carga. Não é necessário ter uma licença de balanceador de carga e a configuração que você precisa fazer é mínima. Com o modo manual, os clusters do Anthos no VMware usam um balanceador de carga diferente escolhido por você. O modo de balanceamento de carga manual requer mais configurações que o modo integrado. Nesta página, descrevemos as etapas que você precisa seguir se optar por usar o modo de balanceamento de carga manual.
O balanceador de carga Citrix é um balanceador de carga de exemplo que pode ser usado com o modo de balanceamento de carga manual.
Neste tópico, você reserva os endereços IP e os valores nodePort
para uso posterior.
A ideia é que você escolha os endereços IP e os valores nodePort
que
quer usar para o balanceamento de carga e para os nós do cluster. Mas você não faz nada
com os endereços e valores nodePort
neste momento. Mais tarde, quando
estiver tudo pronto para criar os clusters, você precisará dos endereços e
valores nodePort
para preencher o
arquivo de configuração do cluster do administrador
e o
arquivo de configuração do cluster de usuário.
Você também
precisará dos endereços e dos valores nodePort
ao configurar manualmente o
balanceador de carga.
Como reservar endereços IP de nós
Com o modo de balanceamento de carga manual, não é possível usar o DHCP. Especifique endereços IP estáticos para os nós do cluster. Você precisa reservar endereços suficientes para os nós no cluster de administrador e para os nós em todos os clusters de usuários que pretende criar. Para detalhes sobre quantos endereços IP de nó precisam ser reservados, consulte Como criar um cluster de administrador e Como criar um cluster de usuário.
Como separar endereços IP virtuais
Independentemente de usar o modo de balanceamento de carga integrado, em pacote ou manual, você precisará reservar vários endereços IP virtuais (VIPs, na sigla em inglês) que pretende usar para o balanceamento de carga. Esses VIPs permitem que clientes externos acessem os servidores da API Kubernetes, o serviço de entrada e o serviço complementar para integração de registros.
Separe os seguintes VIPs:
VIP para o servidor da API Kubernetes do cluster de administrador. No arquivo de configuração do cluster de administrador, ele é chamado de
controlPlaneVIP
.VIP para o serviço complementar de agregação de registros, que é executado no cluster de administrador. No arquivo de configuração do cluster de administrador, ele é chamado de
addonsVIP
.Para cada cluster de usuário que você pretende criar, um VIP para o servidor da API Kubernetes do cluster de usuário. No arquivo de configuração do cluster de usuário, ele é chamado de
controlPlaneVIP
.Para cada cluster de usuário que você pretende criar, um VIP para o serviço de entrada no cluster de usuário. No arquivo de configuração do cluster de usuário, ele é chamado de
ingressVIP
.
Como reservar valores nodePort
Em clusters do Anthos no VMware, o servidor da API Kubernetes, o serviço de entrada e
o serviço complementar de agregação de registros são expostos pelos
Serviços do Kubernetes.
Com o modo de balanceamento de carga manual, você precisa escolher os próprios valores nodePort
para
esses Serviços. Escolha valores no intervalo 30000 - 32767. Depois de escolher os
valores nodePort
, reserve-os para mais tarde quando preencher os arquivos de
configuração do cluster.
Escolha e reserve os seguintes valores nodePort
.
Para o VIP que você reservou para o servidor da API Kubernetes do cluster de administrador, reserve um valor
nodePort
.Para o VIP reservado para o serviço complementar, reserve um valor
nodePort
.Para cada VIP que você reservou para servidores da API Kubernetes de clusters de usuários, reserve um valor
nodePort
.Para cada VIP reservado para o serviço de entrada de um cluster de usuário, reserve dois valores
nodePort
: um para tráfego HTTP e outro para tráfego HTTPS.
Por exemplo, suponha que você queira ter um cluster de administrador e dois clusters de usuário.
Você precisa escolher e reservar os seguintes valores nodePort
:
Um valor
nodePort
para o servidor da API Kubernetes do cluster de administrador.Um valor
nodePort
para o serviço complementar no cluster de administrador.Para cada um dos dois clusters de usuário, um valor
nodePort
para o servidor da API Kubernetes.Para cada um dos dois clusters de usuário, um valor
nodePort
para o tráfego HTTP para o serviço de entrada.Para cada um dos dois clusters de usuário, um valor
nodePort
para o tráfego HTTPS para o serviço de entrada.
Portanto, no exemplo anterior, você precisa reservar oito valores nodePort
.
Como preencher os arquivos de configuração do cluster
Prepare um arquivo de configuração para o cluster de administrador e um arquivo de configuração para cada um dos clusters de usuário.
Em cada arquivo de configuração do cluster:
Defina
loadBalancer.kind
comoManualLB
.Defina
network.ipMode
comostatic
.Defina
network.ipBlockFilePath
como o caminho do arquivo de bloco de IPs do cluster.Atualize a seção
loadBalancer.manualLB
com os valoresnodePort
que você escolheu para o cluster.
O seguinte exemplo mostra uma parte de um arquivo de configuração de cluster de usuário:
network: ipMode: type: static ipBlockFilePath: "ipblock1.yaml" loadBalancer: kind: ManualLB manualLB: ingressHTTPNodePort: 30243 ingressHTTPSNodePort: 30879 controlPlaneNodePort: 30562:
Configurar seu balanceador de carga
Cluster de administrador
No arquivo de configuração do cluster de administrador, você preencheu o seguinte:
loadBalancer.vips.controlPlaneVIP
loadBalancer.vips.addonsVIP
loadBalancer.manualLB.controlPlaneNodePort
loadBalancer.manualLB.addonsNodePort
network.ipMode.ipBlockFilePath
No arquivo de bloco de IPs do cluster de administrador, você preencheu uma lista de endereços IP estáticos que serão usados nos nós do cluster de administrador.
Use as ferramentas ou o console de gerenciamento do balanceador de carga para configurar os seguintes mapeamentos no balanceador de carga. A maneira de fazer isso depende do balanceador de carga:
(
controlPlaneVIP
:443) -> (NODE_IP_ADDRESSES:controlPlaneNodePort
)(
addonsVIP
:8443) -> (NODE_IP_ADDRESSES:addonsNodewPort
)
Cluster de usuário
Nos arquivos de configuração do cluster de usuário, você preencheu o seguinte:
loadBalancer.vips.controlPlaneVIP
loadBalancer.vips.ingressVIP
loadBalancer.manualLB.controlPlaneNodePort
loadBalancer.manualLB.ingressHTTPNodePort
loadBalancer.manualLB.ingressHTTPSNodePort
network.ipMode.ipBlockFilePath
No arquivo de bloco de IPs do seu cluster de usuário, você preencheu uma lista de endereços IP estáticos que serão usados nos nós do cluster de usuário.
Use as ferramentas ou o console de gerenciamento do balanceador de carga para configurar os seguintes mapeamentos no balanceador de carga. A maneira de fazer isso depende do balanceador de carga:
(
controlPlaneVIP
:443) -> (NODE_IP_ADDRESSES:controlPlaneNodePort
)(
ingressVIP
:80) -> (NODE_IP_ADDRESSES:ingressHTTPNodePort
)(
ingressVIP
:443) -> (NODE_IP_ADDRESSES:ingressHTTPSNodePort
)
Como redefinir conexões com nós com falha (recomendado)
Além dos requisitos anteriores, recomendamos que você configure o balanceador de carga para que redefina as conexões do cliente quando detectar uma falha no nó de back-end. Sem essa configuração, os clientes do servidor da API Kubernetes podem parar de responder por vários minutos quando uma instância do servidor é interrompida, o que pode causar instabilidade no plano de controle do Kubernetes.
- Com a F5 BIG-IP, essa configuração é chamada de "Ação no serviço inativo" na página de configuração do pool de back-end.
- Com o HAProxy, essa configuração é chamada de "on-marked-down shutdown-sessions" na configuração do servidor de back-end.
- Se você estiver usando um balanceador de carga diferente, consulte a documentação para encontrar a configuração equivalente.
Como receber suporte para balanceamento de carga manual
O Google não oferece suporte para balanceadores de carga configurados usando o modo de balanceamento de carga manual. Se você encontrar problemas com o balanceador de carga, entre em contato com o fornecedor.
A seguir
- Balanceamento de carga com Citrix
- Como instalar clusters F5 BIG-IP ADC para Anthos no VMware usando balanceamento de carga manual