Outils pour utilisateurs

Outils du site


sysadmin:docker:traefik:erreur_routage_gateway_timeout

Traefik: Erreur routage gateway timeout

Le problème se produit lorsque traefik construit une route vers un service dans un conteneur connecté à différents réseaux. Traefik peux récupérer l'IP du service sur un réseau auquel il n'est pas autorisé. Pour lever toute ambiguïté, lorsque un service est connecté à plusieurs réseaux, il faut définir “traefik.docker.network” dans les labels du service.

Pour vérifier quelle interface réseau Traefik a récupéré:

  • Depuis le Dashboard, Menu HTTP, sélectionner l'onglet HTTP Services
  • Sélectionner le service
  • Dans la section Servers, vérifier la valeur de l'URL de destination. Si elle contient une IP associée a un réseau non accessible la configuration du service dans docker-compose doit être modifiée.

Ci dessous un exemple de fichier docker-compose

version: "3.3"
 
# Réseaux utilisés par les services de monitoring
#
networks:
  # réseaux externes
  traefik-net:
    external: true
  # réseau interne accessible seulement par les services
  # définis dans ce docker-compose
  cadvisor-net:

services:
...
  prometheus:
    image: prom/prometheus:v2.29.0
    restart: unless-stopped
    depends_on:
      - cadvisor
    networks:
      traefik-net:
      cadvisor-net:
    
    ...

    labels:
      - "traefik.enable=true"
      - "traefik.docker.network=traefik-net"

Le service prometheus est connecté au réseau externe traefik-net et au réseau cadvisor-net. Pour éviter toute ambiguïté on indique à Trafik par quelle interface ( parmi les deux réseaux disponibles) il pourra joindre le service (effectuer le routage) grace à la configuration dynamique via le label “traefik.docker.network=traefik-net”.

Références

sysadmin/docker/traefik/erreur_routage_gateway_timeout.txt · Dernière modification : 2021/08/20 13:30 de yoann