VMware fornece uma implementação do balanceador de carga HAProxy de software livre que você pode usar em seu ambiente vSphere with Tanzu. Se você estiver usando a rede do vSphere Distributed Switch (vDS) para o Gerenciamento de carga de trabalho (Workload Management), poderá instalar e configurar o balanceador de carga do HAProxy.

Criar um vSphere Distributed Switch para um Supervisor para uso com o balanceador de carga do HAProxy

Para configurar um cluster vSphere como um Supervisor que usa a pilha de rede vSphere e o balanceador de carga do HAProxy, você deve adicionar os hosts a um vSphere Distributed Switch. Você deve criar grupos de portas no comutador distribuído que você configura como Redes de Carga de Trabalho para o Supervisor.

Você pode selecionar entre diferentes topologias para o Supervisor, dependendo do nível de isolamento que deseja fornecer às cargas de trabalho do Kubernetes que serão executadas no cluster.

Pré-requisitos

Procedimento

  1. No vSphere Client, navegue até um centro de dados.
  2. Clique com o botão direito do mouse no centro de dados e selecione Distributed Switch > New Distributed Switch.
  3. Digite um nome para o switch, por exemplo, Workload Distributed Switch e clique em Avançar (Next).
  4. Selecione a versão 7.0 para o switch e clique em Avançar (Next).
  5. Em Nome do grupo de portas (Port group name), digite Rede de carga de trabalho primária, clique em Avançar (Next) e clique em Concluir (Finish).
    Um novo switch distribuído com um grupo de portas é criado no centro de dados. Você pode usar esse grupo de portas como a Rede de Carga de Trabalho Primária para o Supervisor que você criará. A Rede de Carga de Trabalho Primária manipula o tráfego para VMs do plano de controle do Kubernetes.
  6. Crie grupos de portas distribuídos para Redes de Carga de Trabalho.
    O número de grupos de portas que você cria depende da topologia que você deseja implementar para o Supervisor. Para uma topologia com uma Rede de Carga de Trabalho isolada, crie um grupo de portas distribuído que você usará como uma rede para todos os namespaces no Supervisor. Para uma topologia com redes isoladas para cada namespace, crie o mesmo número de grupos de portas que o número de namespaces que você criará.
    1. Navegue até o comutador distribuído recém-criado.
    2. Clique com o botão direito do mouse no switch e selecione Distributed Port Groups (Distributed Port Groups ) > New Distributed Port Group.
    3. Digite um nome para o grupo de portas, por exemplo, Workload Network e clique em Next.
    4. Deixe os padrões, clique em Avançar (Next) e clique em Concluir (Finish).
  7. Adicione hosts dos clusters vSphere que você configurará como Supervisor ao comutador distribuído.
    1. Clique com o botão direito do mouse no switch distribuído e selecione Add and Manage Hosts.
    2. Selecione Adicionar hosts (Add Hosts).
    3. Clique em Novos hosts (New Hosts), selecione os hosts do cluster vSphere que você configurará como um Supervisor e clique em Avançar (Next).
    4. Selecione uma NIC física de cada host e atribua a ela um uplink no comutador distribuído.
    5. Clique em Avançar (Next) nas telas restantes do assistente e clique em Concluir (Finish).

Resultados

Os hosts são adicionados ao switch distribuído. Agora você pode usar os grupos de portas que criou no comutador como Redes de Carga de Trabalho do Supervisor.

Implantar a VM do plano de controle do balanceador de carga do HAProxy

Se você quiser usar a pilha de rede vSphere para cargas de trabalho do Kubernetes, instale a VM do plano de controle do HAProxy para fornecer serviços de balanceamento de carga para clusters Tanzu Kubernetes.

Pré-requisitos

Pode ser útil visualizar uma demonstração de como usar o vSphere with Tanzu com a rede vDS e o HAProxy. Assista ao vídeo Introdução ao uso do vSphere with Tanzu.

Procedimento

  1. Faça login no vCenter Server usando o vSphere Client.
  2. Crie uma nova VM do arquivo OVA do HAProxy.
    Opção Descrição
    Biblioteca de conteúdo Se você importou o OVA para uma Biblioteca de Conteúdo Local:
    • Vá para Menu > Biblioteca de conteúdo ( Content Library).
    • Selecione a biblioteca para a qual você importou o OVA.
    • Selecione o modelo vmware-haproxy-vX.X.X.
    • Clique com o botão direito do mouse e escolha Nova VM deste modelo (New VM from This Template).
    Arquivo local

    Se você baixou o arquivo OVA para o host local:

    • Selecione o cluster vCenter no qual você ativará o Gerenciamento de carga de trabalho (Workload Management).
    • Clique com o botão direito do mouse e selecione Implantar modelo OVF (Deploy OVF Template).
    • Selecione Arquivo local (Local File) e clique em Carregar arquivos (Upload Files).
    • Procure e selecione o arquivo vmware-haproxy-vX.X.X.ova.
  3. Digite um Nome da máquina virtual (Virtual machine name), como haproxy.
  4. Selecione o Datacenter no qual você está implantando o HAProxy e clique em Avançar (Next).
  5. Selecione o vCenter Cluster no qual você ativará o Workload Management e clique em Next.
  6. Revise e confirme os detalhes da implantação e clique em Avançar (Next).
  7. Aceite os contratos de licença e clique em Avançar (Next).
  8. Selecione uma configuração de implantação. Consulte Topologia de rede do HAProxy em vSphere with Tanzu Conceitos e planejamento. para obter detalhes.
    Configuração Descrição
    Padrão Selecione essa opção para implantar o dispositivo com 2 NICs: uma rede de gerenciamento e uma única rede de carga de trabalho.
    Rede de front-end Selecione essa opção para implantar o appliance do com 3 NICs. A sub-rede de front-end é usada para isolar nós de cluster da rede usada pelos desenvolvedores para acessar o plano de controle do cluster.
  9. Selecione a política de armazenamento a ser usada para a VM e clique em Avançar (Next).
  10. Selecione as interfaces de rede a serem usadas para o balanceador de carga e clique em Avançar (Next).
    Rede de origem Rede de destino
    Gerenciamento Selecione a rede de gerenciamento, como VM Network.
    Carga de trabalho Selecione o portgroup do vDS configurado para o Workload Management.
    Front-end Selecione o grupo de portas do vDS configurado para a sub-rede Front-end. Se você não tiver selecionado a configuração de Front-end, essa configuração será ignorada durante a instalação, para que você possa deixar o padrão.
    Observação: A rede de carga de trabalho deve estar em uma sub-rede diferente da rede de gerenciamento. Consulte Requisitos para habilitar um supervisor de três zonas com balanceador de carga de proxy de alta disponibilidade e Requisitos para habilitar um supervisor de cluster único com VDS Rede e balanceador de carga HAProxy vSphere with Tanzu Conceitos e planejamento.
  11. Personalize as definições de configuração do aplicativo. Consulte Definições de configuração do dispositivo.
  12. Forneça os detalhes de configuração da rede. Consulte Configuração de rede.
  13. Configure o balanceamento de carga. Consulte Configurações de balanceamento de carga.
  14. Clique em Avançar (Next) para concluir a configuração do OVA.
  15. Revise os detalhes de configuração da implantação e clique em Concluir (Finish) para implantar o OVA.
  16. Monitore a implantação da VM usando o painel Tarefas (Tasks).
  17. Quando a implantação da VM for concluída, ligue-a.

O que Fazer Depois

Depois que o balanceador de carga do HAProxy for implantado e ligado com êxito, prossiga com a ativação do Gerenciamento de carga de trabalho (Workload Management). Consulte Configurando e gerenciando um Supervisor.

Personalizar o balanceador de carga do HAProxy

Personalize a VM do plano de controle do HAProxy, incluindo definições de configuração, definições de rede e definições de balanceamento de carga.

Definições de configuração do dispositivo

A tabela lista e descreve os parâmetros para a configuração do dispositivo do HAProxy.
Parâmetro Descrição Observação ou exemplo
Senha raiz Senha inicial para o usuário root (6-128 caracteres). As alterações subsequentes de senha devem ser realizadas no sistema operacional.
Permitir login raiz

Opção para permitir que o usuário raiz faça login na VM remotamente por SSH.

O login raiz pode ser necessário para a solução de problemas, mas lembre-se das implicações de segurança de permitir isso.
Autoridade de certificação TLS (ca.crt)

Para usar o certificado de CA autoassinado, deixe esse campo em branco.

Para usar seu próprio certificado de CA (ca.crt), cole seu conteúdo nesse campo.

Pode ser necessário codificar o conteúdo em Base64. https://www.base64encode.org/

Se você estiver usando o certificado de CA autoassinado, as chaves pública e privada serão geradas a partir do certificado.

Chave (ca.key)

Se você estiver usando o certificado autoassinado, deixe esse campo em branco.

Se você forneceu um certificado de CA, cole o conteúdo da chave privada do certificado nesse campo.

Configuração de rede

A tabela lista e descreve os parâmetros para a configuração de rede do HAProxy.
Parâmetro Descrição Observação ou exemplo
Nome do host O nome do host (ou FQDN) a ser atribuído à VM do plano de controle do HAProxy Valor padrão: haproxy.local
DNS Uma lista separada por vírgulas de endereços IP do servidor DNS.

Valores padrão: 1.1.1.1, 1.0.0.1

Valor de exemplo: 10.8.8.8

IP de gerenciamento

O endereço IP estático da VM do plano de controle do HAProxy na rede de Gerenciamento.

Um endereço IPv4 válido com o comprimento do prefixo da rede, por exemplo: 192.168.0.2/24.

Gateway de gerenciamento

O endereço IP do gateway para a rede de gerenciamento.

Por exemplo: 192.168.0.1

IP da carga de trabalho

O endereço IP estático da VM do plano de controle do HAProxy na rede de carga de trabalho.

Esse endereço IP deve estar fora do intervalo de endereços IP do balanceador de carga.

Um endereço IPv4 válido com o comprimento do prefixo da rede, por exemplo: 192.168.10.2/24.

Gateway de carga de trabalho

O endereço IP do gateway para a rede Workload.

Por exemplo: 192.168.10.1

Se você selecionar Configuração de front-end, deverá inserir um gateway. A implantação não será bem-sucedida se o Front-end for selecionado e nenhum gateway for especificado.

IP de front-end

O endereço IP estático do dispositivo HAProxy na rede Front-end.

Esse valor só é usado quando o modelo de implantação Front-end é selecionado.

Um endereço IPv4 válido com o comprimento do prefixo da rede, por exemplo: 192.168.100.2/24

Gateway de front-end

O endereço IP do gateway para a rede Front-end.

Esse valor só é usado quando o modelo de implantação Front-end é selecionado.

Por exemplo: 192.168.100.1

Configurações de balanceamento de carga

A tabela lista e descreve os parâmetros para a configuração do balanceador de carga do HAProxy.
Parâmetro Descrição Exemplo ou observação
Intervalo(s) de IP do balanceador de carga

Nesse campo, você especifica um intervalo de endereços IPv4 usando o formato CIDR. O valor deve ser um intervalo CIDR válido ou a instalação falhará.

O HAProxy reserva os endereços IP para IPs virtuais (VIPs). Uma vez atribuído, cada endereço VIP é alocado, o HAProxy responde às solicitações nesse endereço.

O intervalo CIDR especificado aqui não deve se sobrepor aos IPs que você atribui aos Servidores Virtuais quando você ativa o Gerenciamento de Carga de Trabalho (Workload Management) no vCenter Server usando o vSphere Client.

Por exemplo, o CIDR de rede 192.168.100.0/24 fornece ao balanceador de carga 256 endereços IP virtuais com o intervalo 192.168.100.0 - 192.168.100.255.

Por exemplo, o CIDR de rede 192.168.100.0/25 fornece ao balanceador de carga 128 endereços IP virtuais com o intervalo 192.168.100.0 - 192.168.100.127.

Porta de gerenciamento da API do Dataplane

A porta na VM do HAProxy na qual o serviço de API do balanceador de carga escuta.

Uma porta válida. A porta 22 é reservada para SSH. O valor padrão é 5556.

ID de usuário do HAProxy

Nome de usuário da API do balanceador de carga

O nome de usuário que os clientes usam para se autenticar no serviço de API do balanceador de carga.

Observação: Você precisa desse nome de usuário ao ativar o Supervisor.
Senha do HAProxy

Senha da API do balanceador de carga

A senha que os clientes usam para se autenticar no serviço de API do balanceador de carga.

Observação: Você precisa dessa senha ao ativar o Supervisor.