Outils pour utilisateurs

Outils du site


sysadmin:docker:traefik

Ceci est une ancienne révision du document !


Traefik

Historiquement Apache et Nginx on offert le service de reverse proxy pour des applications monolithiques (applications lourdes, déployées une bonne fois pour toute et difficiles à migrer).

Avec l'arrivée de docker, les applications ont été réorganisées en services. Pour chaque nouveau service, on applique généralement les étapes suivantes en plusieurs incréments:

  • création /développement du service
  • création des fichiers de configuration (apache ou nginx) pour déploiement.
  • Génération des certifications SSL.

Puis, lorsque le service atteint sa fin de vie:

  • suppression du service
  • suppression de la configuration
  • suppression du certificat SSL

Trafik est un reverse-proxy dynamique, qui permet d'alléger cette boucle d'étapes consécutives.

Traefik

  • Ecrit en GO, s'intègre très bien à docker
  • facile d'utilisation
  • supporte HTTP et HTTPS

prérequis docker-compose: permet de gérer plusieurs conteneurs via un fichier de configuration mieux que d'utiliser seulement des commandes.

Exemple de configuration extraite d'un fichier docker-compose déclarant le service traefik

traefik:
  image: traefik:v2.0
  command: --api.insecure --providers.docker
  volumes:
    - /var/run/docker.sock:/var/run/docker.sock
  ports:
    - "80:80"
    - "443:443"
    - 8080:8080"

Dans la commande, l'option --api.insecure permet de démarrer la webUI exposée ensuite sur le port 8080.

traefik s'appuie sur les labels pour identifier les services et router les flux entrants vers les bons services.

  labels:
    - traefik.http.routers.client.rule=Host(`fqdn1.com`, `fqdn2.com`)
    - traefik.http.services.client.loadbalancer.port=3000

Références

sysadmin/docker/traefik.1612473647.txt.gz · Dernière modification : 2021/02/04 21:20 de yoann