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/13 14:04] – 77.192.232.26 | sysadmin:docker:traefik [2021/07/30 10:17] (Version actuelle) – [Références] 92.154.112.189 | ||
|---|---|---|---|
| Ligne 2: | Ligne 2: | ||
| ====== Traefik ====== | ====== Traefik ====== | ||
| + | |||
| + | 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 16: | Ligne 18: | ||
| * suppression du certificat SSL | * suppression du certificat SSL | ||
| - | Trafik 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 30: | 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 trafik ===== | + | 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 45: | 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 76: | Ligne 80: | ||
| * https:// | * https:// | ||
| * https:// | * https:// | ||
| + | * [[https:// | ||
| + | * https:// | ||
| + | * https:// | ||