Configurar redes
Para desplegar la solucion se necesitan 2 redes: una para el proxy y otra para la comunicación interna entre contenedores que no necesitan acceso a Internet.
Red del proxy
Todos los contenedores que se conecten a esta red pueden ser publicados. Ejecute:
docker network create --driver=overlay traefik-public
El nombre de la red traefik-public
está referenciado en los stacks de Docker Swarm que se utilizan mas adelente. Si necesita cambiarlo refleje la modificacion en dicho lugar también.
Red interna
Para la comunicacion entre los contenedores del cluster. Ejecute:
docker network create --driver=overlay red-siu
El nombre de la red red-siu
está referenciado en los stacks de Docker Swarm que se utilizan mas adelente. Si necesita cambiarlo refleje la modificacion en dicho lugar también.
Traefik, Proxy Reverso
Se eligió Traefik 2.2 como proxy reverso. Las razones detrás de esta elección fue su facilidad de uso y su potencial escalabilidad.
En la solución presentada es el que maneja todo el tráfico que ingresa al clúster y provee la terminación de TLS.
Este componente es probablemente el que más customización necesite para adaptarse a la realidad de cada institución. Es importante conocer sobre su funcionamiento. La documentación del proxy es un buen lugar para comenzar https://docs.traefik.io/.