Outils pour utilisateurs

Outils du site


sysadmin:docker:traefik:notes_configuration

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
sysadmin:docker:traefik:notes_configuration [2021/02/25 00:28] – créée 93.28.24.141sysadmin:docker:traefik:notes_configuration [2022/08/05 12:58] (Version actuelle) – Ajout d'une référence externe yoann
Ligne 1: Ligne 1:
-{{tag>sysadmin devops docker traefik}}+{{tag>sysadmin netadmin devops docker traefik todo}}
  
    
 ====== Traefik: notes de configuration ====== ====== Traefik: notes de configuration ======
 +
 +Les éléments de configuration de Traefik peuvent être fournis de 3 façons:
 +  * Dans des fichiers textes au format TOML ou YAML
 +  * via les CLI flags à l'invocation ou dans les fichiers docker-compose
 +  * via les variables d'environnement (env vars) cette méthode est cependant déconseillée.
 +
 +===== Configuration statique =====
 +
 +Traefik s'appuie sur une configuration en partie statique et en grande partie dynamique.
 +
 +La configuration statique statique est lue au démarrage de Traefik. Elle contient pour l'essentiel la définition des **entrypoints**, les connexions aux **Providers**, la configuration des systèmes de tracing et des outils de métiques.  Toute modification de la configuration statique nécessite un redémarrage de Traefik pour être prise en compte.
 +
 +Pour définir la configuration statique, une seule source peut être utilisée: soit le fichier, soit les options de lignes de commandes.
 +
 +La configuration statique ne permet pas de définir les objets de type router, middlewares, services et configuration TLS. Ces objets sont décrits par les éléments de configuration dynamique.
 +
 +===== Configuration dynamique =====
 +
 +La configuration dynamique contient l'ensemble des éléments permettant de définir le routage des requêtes. Ces éléments peuvent être fournis via:
 +  * les **files providers**: un ou plusieurs fichiers de configuration au format TOML ou YAML observés en permanence par Traefik avec l'option watch = true).
 +  * les métadonnées des conteneurs (labels, ingress)
 +  * données stockées dans un KV store
 +
 +Toutes les sources de configurations dynamiques peuvent s'utiliser en parallèle, les modifications apportées sont prises en compte sans avoir besoin de redémarrer Traefik.
 +
 +Le CLI flag **%%--api.insecure%%** permet de démarrer et d'exposer la webUI sur le port 8080 sans usage du HTTPS. 
 +
 +
 +Traefik s'appuie sur les labels pour identifier les services et router les flux entrants vers les bons services. Par défaut Traefik peut être en mesure de créer des routes vers tous les services/conteneurs qu'il découvre. Il est possible cependant de restreindre la portée de la découverte de services de Traefik:
 +  * via l'option de configuration **exposedByDefault**
 +  * via un mécanisme plus fin basé sur des contraintes.
 +
 +<file YML>
 +  labels:
 +    - traefik.http.routers.client.rule=Host(`fqdn1.com`, `fqdn2.com`)
 +    - traefik.http.services.client.loadbalancer.port=3000
 +</file>
  
 ===== Providers ===== ===== Providers =====
  
-Lorsque le provider Docker à l'option **exposedByDefault** définit à **false**, les conteneurs ne sont pas exposés par Traefik sauf s'ils contiennent explicitement le label "traefik.enable=true".+Avec l'option **exposedByDefault false** définie sur le providerTraefik n'expose pas les conteneurs conteneurs sauf s'ils contiennent explicitement le label "traefik.enable=true".
  
 +Dans l'exemple ci-dessous définit l'option pour sur le Docker Engine local
 <file TOML> <file TOML>
 +# Configuration statique
 [providers] [providers]
   [providers.docker]   [providers.docker]
Ligne 15: Ligne 54:
 </file> </file>
  
 +Traefik cherchera à établir le routage dynamiquement uniquement vers les conteneur ayant le label "traefik.enable=true"
  
 ===== HTTPS et TLS ===== ===== HTTPS et TLS =====
  
-Afin de pouvoir ajouter/supprimer des certificats même lorsque traefik est en cours d'execution, leur défintion peut être ajoutée dans la configuration dynamique.+Afin de pouvoir ajouter/supprimer des certificats même lorsque traefik est en cours d’exécution, leur définition peut être ajoutée dans la configuration dynamique, pour cela on ajoute un provider de type fichier dans la configuration statique: 
 + 
 +<file> 
 +# configuration statique 
 + 
 + 
 +</file>
  
 <file> <file>
Ligne 32: Ligne 78:
 </file> </file>
  
-Dasn traefik les certificats sont regroupés dans des magasins (store)+Dans Traefik les certificats sont regroupés dans des magasins (store)
  
 <file> <file>
Ligne 57: Ligne 103:
 Si aucun certificat par défaut n'est fournit, Traefik génère et utilise un certificat auto-signé. Si aucun certificat par défaut n'est fournit, Traefik génère et utilise un certificat auto-signé.
  
 +
 +
 +===== Références =====
 +
 +  * https://computerz.solutions/docker-compose-traefik/
 +  * https://www.benjaminrancourt.ca/a-complete-traefik-configuration/
  
sysadmin/docker/traefik/notes_configuration.1614212880.txt.gz · Dernière modification : 2021/02/25 00:28 de 93.28.24.141