Traefik est le reverse-proxy livré par défaut avec K3S. Il tient le rôle d'Ingress Controller : recevoir tout le trafic HTTP et HTTPS entrant, et l'aiguiller vers le bon service. Sa particularité, comparé à un NGINX classique, tient en un mot : il se configure tout seul.
La différence de nature
Un reverse-proxy traditionnel lit un fichier de configuration au démarrage. Ajouter un site suppose d'éditer ce fichier et de recharger le service.
Traefik fonctionne à l'inverse : il observe l'API Kubernetes en continu. Un Ingress déclaré apparaît dans son routage en quelques secondes ; un service supprimé en disparaît. Aucun fichier à éditer, aucun rechargement — c'est ce qui rend possible le déploiement d'applications sans jamais toucher au proxy.
Le vocabulaire, en quatre mots
- EntryPoint — un port d'écoute. Par convention :
webpour le 80,websecurepour le 443. C'est le niveau où l'on configure une redirection globale du HTTP vers le HTTPS. - Router — une règle : « telle requête va vers tel service ». Chaque Ingress déclaré dans Kubernetes produit un routeur.
- Service — la cible, c'est-à-dire les pods derrière un Service Kubernetes.
- Middleware — un traitement inséré entre le routeur et le service : authentification, réécriture de chemin, limitation de débit, en-têtes de sécurité, redirection.
Cette chaîne point d'entrée → routeur → middlewares → service est la clé de lecture du tableau de bord.

Points d'entrée, routeurs, services et middlewares : le tableau de bord montre exactement ce que Traefik a compris de vos Ingress.
Le tableau de bord, outil de diagnostic
Il liste les points d'entrée actifs, les routeurs issus des Ingress, les services associés et leur état. Quand une route « ne prend pas », c'est le premier endroit à regarder : soit le routeur n'existe pas — l'Ingress n'a pas été lu, souvent une histoire de classe —, soit il existe mais son service est en erreur.
Un avertissement toutefois, celui que porte aussi la documentation du lab : ce tableau de bord ne s'expose pas en production sans protection. Il révèle toute la topologie de routage de l'infrastructure. En lab, on l'expose comme une application ordinaire pour la démonstration ; ailleurs, il exige une interface réservée et une authentification forte.
Configurer Traefik sous K3S
Traefik est déployé par K3S via un chart Helm. On ne modifie donc pas ses fichiers à la main : on surcharge les valeurs du chart avec un objet HelmChartConfig déposé dans le répertoire des manifestes automatiques. K3S détecte le fichier, redéploie le chart, et la configuration survit aux redémarrages comme aux mises à jour.
C'est ainsi qu'on active la redirection globale HTTP → HTTPS ou qu'on définit un certificat par défaut. Attention au piège : la structure des valeurs change entre versions majeures du chart, et une clé inconnue est ignorée silencieusement par Helm. La configuration semble appliquée, ne produit aucun effet, et n'émet aucune erreur. La seule vérification qui vaille consiste à lire les arguments réellement passés au conteneur :
kubectl -n kube-system get deploy traefik \
-o jsonpath='{.spec.template.spec.containers[0].args}' | tr ',' '\n'
Fixer l'adresse d'entrée
Sur une infrastructure auto-hébergée, Traefik obtient son adresse externe de MetalLB. Comme cette adresse est le point d'ancrage du DNS, on la fixe explicitement plutôt que de laisser le hasard décider :
kubectl -n kube-system annotate svc traefik \ metallb.universe.tf/loadBalancerIPs="192.168.50.250" --overwrite
Traefik ou NGINX ?
Les deux font le travail. Traefik apporte la découverte automatique, une configuration entièrement déclarative et une gestion intégrée des certificats ACME. NGINX apporte une maturité plus ancienne, des performances brutes légèrement supérieures sur les très gros volumes et une littérature considérable.
Pour un cluster K3S, la question ne se pose guère : Traefik est déjà là, intégré et fonctionnel. Le remplacer se justifie surtout si l'on a des besoins précis ou une expertise NGINX existante.
Voir la mise en pratique
Cette brique est installée et configurée pas à pas dans mon wiki, section Datacenter / Cluster K3S — la documentation de référence, avec les commandes et leurs sorties :
Et côté blog, l'étape correspondante du lab : Monter un lab Kubernetes chez soi (6) : MetalLB et Traefik, exposer les services.