traefik

Traefik v3 reverse proxy and load balancer for Kubernetes and Docker. Use when configuring Traefik entrypoints, HTTP/TCP/UDP routing, IngressRoute CRDs, middlewares (auth, rate limiting, headers, redi

SKILL.md

GitHub

Traefik v3

Cloud-native reverse proxy and load balancer with automatic service discovery. Traefik connects incoming requests to backend services using dynamic configuration from providers (Kubernetes, Docker, etc.).

Quick Start (Kubernetes Helm)

helm repo add traefik https://traefik.github.io/charts
helm install traefik traefik/traefik

Install CRDs manually (if needed):

kubectl apply -f https://raw.githubusercontent.com/traefik/traefik/v3.6/docs/content/reference/dynamic-configuration/kubernetes-crd-definition-v1.yml
kubectl apply -f https://raw.githubusercontent.com/traefik/traefik/v3.6/docs/content/reference/dynamic-configuration/kubernetes-crd-rbac.yml

Core Concepts

Component Description
EntryPoints Network ports where Traefik listens (e.g., :80, :443)
Routers Match incoming requests using rules (Host, Path, Headers)
Services Define backend targets with load balancing
Middlewares Transform requests/responses (auth, headers, redirects)
Providers Configuration sources (Kubernetes, Docker, File)

Task Reference

Routing Configuration

Kubernetes CRDs

Middlewares

Load Balancing & Services

TLS & Certificates

EntryPoints

Minimal IngressRoute Example

apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
  name: myapp
  namespace: default
spec:
  entryPoints:
    - websecure
  routes:
    - match: Host(`myapp.example.com`)
      kind: Rule
      services:
        - name: myapp-svc
          port: 80
      middlewares:
        - name: myapp-headers
  tls:
    certResolver: letsencrypt

Common CLI/Static Config

# traefik.yml (static configuration)
entryPoints:
  web:
    address: ":80"
    http:
      redirections:
        entryPoint:
          to: websecure
          scheme: https
  websecure:
    address: ":443"

providers:
  kubernetesCRD: {}
  kubernetesIngress: {}

certificateResolvers:
  letsencrypt:
    acme:
      email: admin@example.com
      storage: /data/acme.json
      httpChallenge:
        entryPoint: web

Official Documentation