Você precisará executar uma camada de roteamento (o HAproxy deve funcionar bem) que esteja direcionando o tráfego com base no cabeçalho do host HTTP. Execute este contêiner de roteamento em algumas máquinas vinculadas a 80/443, conforme desejado. Adicione registros para cada um dos serviços que apontam para essas poucas máquinas. Seu LB agora está altamente disponível.
Em seguida, configure suas regras de roteamento do HAproxy para consumir a localização de seus serviços de recebimento de dados e rotear o tráfego adequadamente. Por exemplo, uma solicitação para api.example.com é roteada para 10.10.10.1, 10.10.10.2 ou 10.10.10.3. O roteador (10.10.10.1:443) vê que tem dois contêineres de backend responsáveis por api.example.com em execução em 10.10.10.99:9999 e 10.10.10.98:9898. O tráfego é roteado para um dos contêineres e a solicitação é atendida.
Um exemplo completo disso com o proxy Vulcan e o etcd está aqui: link