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
- HTTP routing rules, matchers, priority → references/routing.md
- Rule syntax (Host, Path, Headers, Query) → references/routing.md
Kubernetes CRDs
- IngressRoute, Middleware, TraefikService → references/kubernetes-crd.md
- Full IngressRoute examples → references/kubernetes-crd.md
Middlewares
- All available middlewares → references/middlewares.md
- Auth, rate limiting, headers, redirects → references/middlewares.md
Load Balancing & Services
- Strategies, health checks, sticky sessions → references/services.md
- Mirroring, failover, weighted routing → references/services.md
TLS & Certificates
- ACME/Let's Encrypt, TLS options → references/tls.md
- Certificate resolvers, challenges → references/tls.md
EntryPoints
- Configuration, HTTP/HTTPS setup → references/entrypoints.md
- Redirections, proxy protocol → references/entrypoints.md
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
1---2name: traefik3description: 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, redirects), load balancing, TLS/ACME certificates, or Kubernetes Ingress annotations.4---5
6# Traefik v3
7
8Cloud-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.).
9
10## Quick Start (Kubernetes Helm)
11
12```bash
13helm repo add traefik https://traefik.github.io/charts
14helm install traefik traefik/traefik
15```
16
17**Install CRDs manually (if needed):**
18```bash
19kubectl apply -f https://raw.githubusercontent.com/traefik/traefik/v3.6/docs/content/reference/dynamic-configuration/kubernetes-crd-definition-v1.yml
20kubectl apply -f https://raw.githubusercontent.com/traefik/traefik/v3.6/docs/content/reference/dynamic-configuration/kubernetes-crd-rbac.yml
21```
22
23## Core Concepts
24
25| Component | Description |
26|-----------|-------------|
27| **EntryPoints** | Network ports where Traefik listens (e.g., :80, :443) |
28| **Routers** | Match incoming requests using rules (Host, Path, Headers) |
29| **Services** | Define backend targets with load balancing |
30| **Middlewares** | Transform requests/responses (auth, headers, redirects) |
31| **Providers** | Configuration sources (Kubernetes, Docker, File) |
32
33## Task Reference
34
35### Routing Configuration
36- HTTP routing rules, matchers, priority → [references/routing.md](references/routing.md)
37- Rule syntax (Host, Path, Headers, Query) → [references/routing.md](references/routing.md)
38
39### Kubernetes CRDs
40- IngressRoute, Middleware, TraefikService → [references/kubernetes-crd.md](references/kubernetes-crd.md)
41- Full IngressRoute examples → [references/kubernetes-crd.md](references/kubernetes-crd.md)
42
43### Middlewares
44- All available middlewares → [references/middlewares.md](references/middlewares.md)
45- Auth, rate limiting, headers, redirects → [references/middlewares.md](references/middlewares.md)
46
47### Load Balancing & Services
48- Strategies, health checks, sticky sessions → [references/services.md](references/services.md)
49- Mirroring, failover, weighted routing → [references/services.md](references/services.md)
50
51### TLS & Certificates
52- ACME/Let's Encrypt, TLS options → [references/tls.md](references/tls.md)
53- Certificate resolvers, challenges → [references/tls.md](references/tls.md)
54
55### EntryPoints
56- Configuration, HTTP/HTTPS setup → [references/entrypoints.md](references/entrypoints.md)
57- Redirections, proxy protocol → [references/entrypoints.md](references/entrypoints.md)
58
59## Minimal IngressRoute Example
60
61```yaml
62apiVersion: traefik.io/v1alpha1
63kind: IngressRoute
64metadata:
65 name: myapp
66 namespace: default
67spec:
68 entryPoints:
69 - websecure
70 routes:
71 - match: Host(`myapp.example.com`)
72 kind: Rule
73 services:
74 - name: myapp-svc
75 port: 80
76 middlewares:
77 - name: myapp-headers
78 tls:
79 certResolver: letsencrypt
80```
81
82## Common CLI/Static Config
83
84```yaml
85# traefik.yml (static configuration)
86entryPoints:
87 web:
88 address: ":80"
89 http:
90 redirections:
91 entryPoint:
92 to: websecure
93 scheme: https
94 websecure:
95 address: ":443"
96
97providers:
98 kubernetesCRD: {}
99 kubernetesIngress: {}
100
101certificateResolvers:
102 letsencrypt:
103 acme:
104 email: admin@example.com
105 storage: /data/acme.json
106 httpChallenge:
107 entryPoint: web
108```
109
110## Official Documentation
111- [Traefik Docs](https://doc.traefik.io/traefik/)
112- [Kubernetes CRD Reference](https://doc.traefik.io/traefik/reference/install-configuration/providers/kubernetes/kubernetes-crd/)
113- [Middleware Reference](https://doc.traefik.io/traefik/reference/routing-configuration/http/middlewares/overview/)