Parece que seu principal problema é o roteamento. Você precisaria configurar algum tipo de camada de roteamento que é o ponto de entrada no cluster, lê o cabeçalho do host e encaminha o tráfego para o (s) recipiente (s) apropriado (s). Uma maneira comum de fazer isso é confd + nginx rodando em um container.
A segunda parte disso é ter seus contêineres de back-end "anunciando" eles mesmos, ou seja, escrever alguns dados no etcd quando eles estiverem ativos e tiverem passado por suas verificações de saúde. Isso permite que você se mova pelos back-ends à medida que você implanta novas versões, escala, etc.
Então, como você implanta isso? Primeiro, confira as arquiteturas de cluster doc. Eu pegaria um subconjunto de suas máquinas e as colocaria atrás de um LB de nuvem (ou rodaria o DNS robin) que aponta para seus contêineres de roteamento rodando em 80/443. Estes, então, encaminham o infra-cluster de tráfego para o backend apropriado.
Não há necessidade de usar flanela ou outros projetos de rede se você estiver apenas armazenando a combinação IP / porta do back-end para se conectar.