Traefik 是面向微服务的现代 HTTP 反向代理与负载均衡器,具备自动服务发现与动态配置能力,并支持 Kubernetes Gateway API。
用途:在 Docker 与 Kubernetes 中自动发现并路由微服务流量,配合 Let's Encrypt 自动签发和续期 TLS 证书,通过中间件完成限流、鉴权、请求头修改与路径前缀剥离,并支持金丝雀与加权轮询路由以在服务版本间分配流量。
主要能力:Docker Compose 中通过容器标签暴露服务并动态生成路由;Kubernetes 使用 IngressRoute 自定义资源(traefik.io/v1alpha1)配置入口点、匹配规则、服务与中间件;静态配置使用 traefik.yml 定义 entryPoints、API 仪表盘等启动参数。
使用方式:Docker 场景给 Traefik 传入 --providers.docker=true 并挂载只读的 /var/run/docker.sock,业务容器用 traefik.enable、traefik.http.routers.、tls.certresolver、middlewares 等标签声明路由;证书解析器通过 --certificatesresolvers..acme 参数配置,ACME 数据持久化到卷中。
限制与注意事项:容器标签需显式声明 loadbalancer server.port;ACME HTTP 挑战要求 80 端口可从公网访问;资料建议接口仪表盘不要公开暴露,应加 BasicAuth 或 OAuth2 中间件;Docker socket 只读挂载;生产环境应配置限流与连接超时中间件。资料未提供具体收费、价格与效果数据。