blog.bressure.net

Carnet professionnel d'un informaticien

Application, Paramétrage

Traefik et réseau

admin

J’étais en train de migrer mon infra vers Traefik afin de ne plus avoir à gérer une correspondance entre mes noms de domaine et un port d’exposition. Traefik est sensé router automatiquement vers le bon conteneur en fonction de l’url (domaine et/ou chemin).

Backend avec backup

Pour migrer l’infra de manière progressive j’ai utilisé un backend qui possède un serveur de backup. Ce dernier continu à envoyer le flux vers le port exposé (bien connu) du service.

    backend kitejust4fun_asso_backup
        option httpchk
        server server1 192.168.122.30:88 check
        server legacy  192.168.122.30:8084 backup

Le check http était échec immédiat, Traefik répondant 404 Not Found.

Personnalisation du check http

L’erreur de vérification n’est pas surprenante car sans option particulière haproxy va tester l’url / serveur et comme Traefik ne route rien sur /, c’est normal. Pour tester le service il faut personnalisé l’url de vérification en y mettant le host.

backend kitejust4fun_asso_backup
        option httpchk OPTIONS / "HTTP/1.0\r\nHost: www.kitejust4fun.fr"
        server server1 192.168.122.30:88 check
        server legacy  192.168.122.30:8084 backup

Cette fois le vérification fini en timeout (2000ms par défaut dans le haproxy). En faisant la requête via un curl j’obtiens effectivement un gateway timeout.

Traefik et service dans le même réseau docker

En consultant attentivement la documentation de Traefik Quickstart on s’aperçoit que Traefik et le service sont mis dans le même docker compose donc dans le même réseau, celui créé par défaut par compose. Or en voulant ajouter Traefik à côté de mes services déjà existants, j’espérais que ce dernier allait router le flux sur le port de exposé sur l’hôte. Mais Traefik est un conteneur comme un autre et seul le démon docker connait cette exposition. D’ailleurs le but de Traefik n’est-t-il pas d’exposer que le port d’écoute du routeur Traefik ? Donc je me suis bien fourvoyé !

Traefik dans le même réseau que le service

L’utilisation de Traefik passera donc obligatoirement par une modification de la configuration réseau de mes conteneurs. Jusque là je laissais docker-compose gérer cela. Faisons un saut dans la cours des grands au prochain billet !

Tags:

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Back to top