Ao usar o vSphere with Tanzu com a rede vDS, o HAProxy fornece balanceamento de carga para desenvolvedores que acessam o plano de controle do Tanzu Kubernetes e para serviços do Kubernetes do tipo balanceador de carga. Revise as topologias possíveis que você pode implementar para o balanceador de carga HAProxy.
Redes de carga de trabalho no Supervisor Cluster
Para configurar um Supervisor Cluster com a pilha de rede do vSphere, você deve conectar todos os hosts do cluster a um vSphere Distributed Switch. Dependendo da topologia que você implementar para as Supervisor Cluster Redes de Carga de Trabalho, crie um ou mais grupos de portas distribuídas. Você designa os grupos de portas como Redes de Carga de Trabalho para vSphere Namespaces.
Antes de adicionar um host a um Supervisor Cluster, você deve adicioná-lo a todos os vSphere Distributed Switches que fazem parte do cluster.
As VMs de plano de controle do Kubernetes no Supervisor Cluster usam três endereços IP do intervalo de endereços IP que é atribuído à rede de carga de trabalho primária. Cada nó de um cluster Tanzu Kubernetes tem um endereço IP separado atribuído do intervalo de endereços da Rede de Carga de Trabalho que é configurado com o namespace onde o cluster Tanzu Kubernetes é executado.
Alocação de Intervalos de IPs
- Um intervalo para alocar IPs virtuais para o HAProxy. O intervalo de IPs que você configura para os servidores virtuais do HAProxy é reservado pelo dispositivo do balanceador de carga. Por exemplo, se o intervalo de IP virtual for
192.168.1.0/24
, todos os hosts nesse intervalo não serão acessíveis para tráfego diferente do tráfego de IP virtual.Observação: Você não deve configurar um gateway dentro do intervalo de IPs virtuais do HAProxy, pois todas as rotas para esse gateway falharão. - Um intervalo de IPs para os nós dos clusters Supervisor Cluster e Tanzu Kubernetes. Cada VM de plano de controle do Kubernetes no Supervisor Cluster tem um endereço IP atribuído, que perfaz um total de três endereços IP. Cada nó de um cluster Tanzu Kubernetes também tem um IP separado atribuído. Você deve atribuir um intervalo de IP exclusivo a cada rede de carga de trabalho no Supervisor Cluster que você configurar para um namespace.
Um exemplo de configuração com uma rede / 24:
- Rede: 192.168.120.0/24
- HAProxy VIPs: 192.168.120.128/25
- 1 endereço IP para a interface de carga de trabalho do HAProxy: 192.168.120.5
Dependendo dos IPs que estão livres nos primeiros 128 endereços, você pode definir intervalos de IP para Redes de Carga de Trabalho no Supervisor Cluster, por exemplo:
- 192.168.120.31-192.168.120.40 para a rede de carga de trabalho primária
- 192.168.120.51-192.168.120.60 para outra rede de carga de trabalho
Topologia de rede HAProxy
Há duas opções de configuração de rede para implantar o HAProxy: Padrão (Default) e Front-end (Frontend). A rede padrão tem 2 NICs: uma para a rede de gerenciamento e uma para a rede de carga de trabalho. A rede de front-end tem 3 NICs: rede de gerenciamento, rede de carga de trabalho e a rede de front-end para clientes. A tabela lista e descreve as características de cada rede.
Rede | Características |
---|---|
Gerenciamento(Management) |
O Cluster de Supervisor usa a rede de gerenciamento para se conectar e programar o balanceador de carga HAProxy.
|
Carga de trabalho (Workload) |
A VM do plano de controle do HAProxy usa a rede de carga de trabalho para acessar os serviços nos nós do cluster do supervisor e do Tanzu Kubernetes.
|
Front-end (Frontend) (opcional) | Clientes externos (como usuários ou aplicativos) que acessam cargas de trabalho de cluster usam a rede de front-end para acessar serviços de balanceamento de carga de back-end usando endereços IP virtuais.
|
O diagrama abaixo ilustra uma implantação do HAProxy usando uma topologia de rede de front-end (Frontend Network). O diagrama indica onde os campos de configuração são esperados durante o processo de instalação e configuração.
Supervisor Cluster
Supervisor Cluster
- VMs de plano de controle do Kubernetes
- Os nós dos clusters Tanzu Kubernetes.
- O intervalo de IPs virtuais do HAProxy no qual os serviços externos e os usuários de DevOps se conectam. Nessa configuração, o HAProxy é implantado com duas NICs virtuais (configuração padrão (Default)), uma conectada à rede de gerenciamento e uma segunda conectada à rede de carga de trabalho primária. Você deve planejar a alocação de IPs virtuais em uma sub-rede separada da rede de carga de trabalho primária.
- O usuário DevOps ou o serviço externo envia o tráfego para um IP virtual na sub-rede Workload Network do grupo de portas distribuídas.
- O HAProxy faz o balanceamento de carga do tráfego de IP virtual para o IP do nó do Tanzu Kubernetes ou para o IP da VM do plano de controle. O HAProxy reivindica o endereço IP virtual para que possa balancear a carga do tráfego proveniente desse IP.
- A VM do plano de controle ou o nó do cluster Tanzu Kubernetes entrega o tráfego aos pods de destino em execução no cluster Supervisor Cluster ou Tanzu Kubernetes, respectivamente.
Supervisor Cluster Topologia com uma rede de carga de trabalho isolada e proxy de alta disponibilidade com duas NICs virtuais
- VMs de plano de controle do Kubernetes. Uma rede de carga de trabalho primária para lidar com o tráfego para VMs de plano de controle do Kubernetes.
- Tanzu Kubernetes nós do cluster. Uma rede de carga de trabalho. que você atribui a todos os namespaces no Supervisor Cluster. Essa rede conecta os nós do cluster Tanzu Kubernetes.
- IPs virtuais do HAProxy. Nessa configuração, a VM HAProxy é implantada com duas NICs virtuais (configuração padrão (Default)). Você pode conectar a VM HAProxy à Rede de Carga de Trabalho Primária ou à Rede de Carga de Trabalho que você usa para namespaces. Você também pode conectar o HAProxy a uma rede de VM que já existe no vSphere e é roteável para as redes primária e de carga de trabalho.
- O usuário DevOps ou o serviço externo envia o tráfego para um IP virtual. O tráfego é roteado para a rede na qual o HAProxy está conectado.
- O HAProxy faz o balanceamento de carga do tráfego de IP virtual para o IP do nó do Tanzu Kubernetes ou para a VM de plano de controle. O HAProxy está reivindicando o endereço IP virtual para que ele possa balancear a carga do tráfego proveniente desse IP.
- A VM do plano de controle ou o nó do cluster Tanzu Kubernetes entrega o tráfego aos pods de destino em execução no cluster Tanzu Kubernetes.
Supervisor Cluster Topologia com várias redes de carga de trabalho e proxy de alta disponibilidade com duas NICs virtuais
Nessa topologia, você pode configurar um grupo de portas para atuar como a rede de carga de trabalho primária e um grupo de portas dedicado para servir como a rede de carga de trabalho para cada namespace. O HAProxy é implantado com duas NICs virtuais (configuração padrão (Default)) e você pode conectá-lo à rede de carga de trabalho primária ou a qualquer uma das redes de carga de trabalho. Você também pode usar uma rede de VM existente que é roteável para as Redes Primária e de Carga de Trabalho.
Supervisor Cluster Topologia com várias redes de carga de trabalho e proxy de alta disponibilidade com três NICs virtuais
Selecionando entre as topologias possíveis
Antes de selecionar entre cada uma das topologias possíveis, avalie as necessidades do seu ambiente:
- Você precisa de isolamento de camada 2 entre os clusters Supervisor Cluster e Tanzu Kubernetes?
- Não: a topologia mais simples com uma rede de carga de trabalho atendendo a todos os componentes.
- Sim: a topologia de rede de carga de trabalho isolada com uma rede primária e uma rede de carga de trabalho separadas.
- Você precisa de mais isolamento de camada 2 entre seus clusters Tanzu Kubernetes?
- Não: topologia de rede de carga de trabalho isolada com redes primárias e de carga de trabalho separadas.
- Sim: topologia de várias redes de carga de trabalho com uma rede de carga de trabalho separada para cada namespace e uma rede de carga de trabalho primária dedicada.
- Deseja impedir que seus usuários de DevOps e serviços externos sejam roteados diretamente para VMs de plano de controle do Kubernetes e Tanzu Kubernetes nós de cluster?
- Não: configuração de dois NIC HAProxy.
- Sim: três NIC HAProxy configuração. Essa configuração é recomendada para ambientes de produção