Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
sysadmin:docker:traefik [2021/02/14 09:22] – 77.192.232.26 | sysadmin:docker:traefik [2021/07/30 10:17] (Version actuelle) – [Références] 92.154.112.189 | ||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
====== Traefik ====== | ====== Traefik ====== | ||
- | Traefik est un reverse-proxy, | + | Traefik est un reverse-proxy, |
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). | 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' | + | Avec l' |
* création / | * création / | ||
* création des fichiers de configuration (apache ou nginx) pour le déploiement. | * création des fichiers de configuration (apache ou nginx) pour le déploiement. | ||
Ligne 17: | Ligne 18: | ||
* suppression du certificat SSL | * suppression du certificat SSL | ||
- | Traefik est un reverse-proxy dynamique qui permet d' | + | Le paradigme des micros-services |
- | Les principales caractéristiques et fonctionnalités de Traefic: | + | * Comment livrer tous les services de manière homogène; |
+ | * Comment tracer journaliser les requêtes; | ||
+ | * Comment aiguiller une requête externe sur le bon service (c'est à ce niveau qu' | ||
+ | |||
+ | Traefik est un reverse-proxy dynamique qui permet d' | ||
+ | |||
+ | Les principales caractéristiques et fonctionnalités de Traefik: | ||
* Écrit en GO, distribué sous forme de binaire unique ou via une image Docker. | * Écrit en GO, distribué sous forme de binaire unique ou via une image Docker. | ||
Ligne 31: | Ligne 38: | ||
- | On désigne parfois | + | On désigne parfois |
- | * **edge** signifie | + | * **Edge** indique |
- | * Traefik est configuré pour écouter l' | + | * Traefik est configuré pour écouter l' |
* Trafik reçoit les requêtes et aiguille le flux vers les bons services. | * Trafik reçoit les requêtes et aiguille le flux vers les bons services. | ||
+ | La philosophie de Traefik est de minimiser la configuration manuelle, d' | ||
+ | ===== Architecture Traefik ===== | ||
- | ===== Architecture traefik ===== | + | Les requêtes sont attrapées par les **entrypoints**. On configure manuellement les entrypoints disponibles, |
- | + | ||
- | Les requêtes sont attrapées par les **entrypoints**. On configure manuellement les entrypoints disponibles, | + | |
Les requêtes capturées au niveau des entrypoints sont communiquées à des objets désignés **routers** (anciennement appelés frontends). Les routers intègrent deux fonctions: | Les requêtes capturées au niveau des entrypoints sont communiquées à des objets désignés **routers** (anciennement appelés frontends). Les routers intègrent deux fonctions: | ||
Ligne 46: | Ligne 53: | ||
* les **middlewares** qui altèrent la requête avant de la transférer ou la réponse retournée. | * les **middlewares** qui altèrent la requête avant de la transférer ou la réponse retournée. | ||
- | Les services, correspondent à la représentation interne que traefik | + | Les services, correspondent à la représentation interne que Traefik |
Les administrateurs en charge de la configuration de Traefik modifient ou définissent la configuration statique: les entrypoints, | Les administrateurs en charge de la configuration de Traefik modifient ou définissent la configuration statique: les entrypoints, | ||
- | La partie dynamique de la configuration est déduite des informations récupérées via les API des providers: | + | La partie dynamique de la configuration est déduite des informations récupérées via les API des providers |
* des labels | * des labels | ||
- | * des ingres rules de Kubernettes; | + | * des ingres rules de Kubernetes; |
* des annotations d'Azur Service Fabric etc | * des annotations d'Azur Service Fabric etc | ||
- | Ce sont les developeurs | + | < |
+ | Ce sont les développeurs | ||
+ | </ | ||
- | ===== Configuration ===== | + | Lorsque tout se passe normalement, |
- | Traefik s' | ||
- | La configuration statique peut être définie dans un fichier de configuration YAML ou via les options %%--command%% d'un docker-compose | + | ===== Configuration ===== |
- | Dans la commande, l' | + | La configuration |
- | traefik s' | + | ===== Exemples ===== |
- | <file YML> | ||
- | labels: | ||
- | - traefik.http.routers.client.rule=Host(`fqdn1.com`, | ||
- | - traefik.http.services.client.loadbalancer.port=3000 | ||
- | </ | ||
===== Références ===== | ===== Références ===== | ||
Ligne 77: | Ligne 80: | ||
* https:// | * https:// | ||
* https:// | * https:// | ||
- | * https:// | + | * [[https:// |
* https:// | * https:// | ||
+ | * https:// |