lang: zh slug: traefik title: ‘Traefik:63,229 个 GitHub Stars’ description: ‘Traefik 是一个具有自动服务发现功能的云原生应用程序代理和边缘路由器。 与 Docker、Kubernetes、Consul 和 Docker Compose 兼容。 涵盖安装、中间件、TLS、监控和生产强化。’ tags: [“automation”, “ci-cd”, “github”, “guide”, “open-source”, “reference”, “tutorial”] date: 2026-05-19 00:00:00+08:00 lastmod: 2026-05-19 00:00:00+08:00 tech_stack: [] application_domain: Dev Utils source_version: ’' licensing_model: Open Source license_type: MIT file_size: ’' file_md5: ’' download_url: ’' backup_url: ’' github_repo: ‘https://github.com/traefik/traefik' last_maintained: ‘2026-05-19’ draft: false categories: [‘dev-utils’] aliases:- /帖子/traefik/ 常见问题解答:
- q: ‘当我添加新服务时,Traefik 需要重新启动吗?’ ’ ‘不。 Traefik 监视您的 Docker 套接字或 Kubernetes API 并实时更新其路由表。 携带 Traefik 标签的新容器会在几秒钟内被检测到,并且流量会立即路由,无需重新加载配置。
- q:“如何将 Traefik 与多个 Docker Compose 项目一起使用?”
a: ‘使用
docker network create proxy创建一个外部 Docker 网络,然后将 Traefik 和每个应用程序服务附加到它。 每个项目都保留自己的带有 Traefik 标签的 docker-compose.yml,只要它们共享该网络,Traefik 就会自动发现它们。 - q: ‘Kubernetes Ingress 和 Traefik 的 IngressRoute 有什么区别?’ a:“标准 Kubernetes Ingress 是一种通用资源,具有有限的路由选项。 Traefik 的 IngressRoute CRD 添加了中间件链接、TCP/UDP 路由、加权负载平衡、流量镜像和直接 TLS 配置,而无需依赖注释。
- q:“与 Nginx 和 HAProxy 相比,Traefik 有多快?” a:“在 4 vCPU 服务器上的社区 wrk2 基准测试中,Traefik v3.2 每秒处理约 18,291 个请求,而 Nginx 为 25,367 个请求,HAProxy 为 24,263 个请求。 启用 Traefik 的实验性 FastProxy 引擎将吞吐量提高到约 20,795 个请求/秒,比标准引擎大约提高了 50%。
- q:“暴露 Traefik 仪表板安全吗?” a: ‘仅通过身份验证。 仪表板显示了完整的路由配置和后端服务,因此请始终使用 BasicAuth、ForwardAuth (Authelia/Authentik) 或 IP 白名单中间件来保护它。 切勿在生产中使用“–api.insecure=true”。 featureImage: /images/articles/traefik63229-github-stars.png
——{{< 资源信息 >}}管理容器化环境中的入口流量是一个持续令人头痛的问题。 每次新的微服务启动时,都必须有人更新反向代理配置,重新加载服务,并祈祷不会出现任何问题。 在每天部署数十次的世界中,这种手动方法在其自身重量下崩溃了。 Traefik 是为云原生基础设施构建的开源边缘路由器,通过监视容器编排器并自动更新路由来解决这个问题 - 无需重新加载配置,无需停机,无需人工干预。本 Traefik 教程将介绍生产级 Traefik 设置:Docker Compose 部署、Kubernetes 入口配置、TLS 自动化、中间件强化和可观察性。 无论您是在为您的堆栈探索 Traefik 与 Nginx 还是需要完整的边缘路由器设置,本指南中的每个配置都已准备好复制粘贴。## Traefik 是什么?Traefik 是一个开源 HTTP 反向代理和负载均衡器,专为动态、云原生环境而设计。 它最初由 Containous(现为 Traefik Labs)于 2015 年发布,现已增长到 63,229 个 GitHub star,并成为重视自动化而非手动配置的 Docker 和 Kubernetes 操作员的默认入口选择。 与依赖静态配置文件的传统代理不同,Traefik 直接连接到编排器的 API(Docker、Kubernetes、Consul、ECS 等),并在容器启动和停止时实时构建其路由表。
|-----------|---------|---------|
| EntryPoint | Listening port for incoming traffic | `:80`, `:443`, `:8080` |
| Router | Matches requests against rules | `Host("api.example.com")` |
| Middleware | Modifies requests/responses | BasicAuth, RateLimit, RedirectScheme |
| Service | Forwards to upstream backends | LoadBalancer across 3 replicas |
| Provider | Discovers services from orchestrator | Docker, Kubernetes CRD, Consul |## 安装和设置### Docker Compose(单节点,≤5分钟)创建一个专用目录和主要 Traefik 配置:````
bas
h
mkdir -p ~/traefik/{数据,配置}
cd ~/traefik
触摸数据/acme.json && chmod 600 数据/acme.json
acme
.json 文件存储 Let's Encrypt 证书。 它必须具有限制性权限(600),否则 Let's Encrypt 将拒绝写入。**docker-compose.yml`** — Traefik v3.x 生产就绪:````
yam
l
服务:
特拉菲克:
图片:traefik:v3.2
容器名称:traefik
重新启动:除非停止
安全选项:
- 无新特权:true 只读:真 网络:
- 代理 端口:
- “80:80”
- “443:443”
- “8080:8080” 卷:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./data/acme.json:/acme.json
- ./data/traefik.yml:/etc/traefik/traefik.yml:ro
- ./configs:/configs:ro
- ./数据/日志:/日志 标签: -“traefik.enable=true”
- “traefik.http.routers.traefik.rule=Host(
traefik.yourdomain.com)” -“traefik.http.routers.traefik.entrypoints=websecure” -“traefik.http.routers.traefik.tls.certresolver=letsencrypt” - “traefik.http.routers.traefik.service=api@internal” -“traefik.http.middlewares.traefik-auth.basicauth.users=admin:$$apr1$$H6uskkkW$$IgXLP6ewTrSuBkTrqE8wj/” -“traefik.http.routers.traefik.middlewares=traefik``` bas h mkdir -p ~/traefik/{数据,配置} cd ~/traefik 触摸数据/acme.json && chmod 600 数据/acme.json
- 代理
标签:
-“traefik.enable=true”
- “traefik.http.routers.whoami.rule=Host(`whoami.yourdomain.com`)”
-“traefik.http.routers.whoami.entrypoints=websecure”
-“traefik.http.routers.whoami.tls.certresolver=letsencrypt”
- "traefik.http.services.whoami.loadbala```
yam
l
服务:
特拉菲克:
图片:traefik:v3.2
容器名称:traefik
重新启动:除非停止
安全选项:
- 无新特权:true
只读:真
网络:
- 代理
端口:
- “80:80”
- “443:443”
- “8080:8080”
卷:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./data/acme.json:/acme.json
- ./data/traefik.yml:/etc/traefik/traefik.yml:ro
- ./configs:/configs:ro
- ./数据/日志:/日志
标签:
- "traefik.enable=true"
- “traefik.http.routers.traefik.rule=Host(`traefik.yourdomain.com`)”
-“traefik.http.routers.traefik.entrypoints=websecure”
- "traefik.http.routers.traefik.tls.certresolver=letsencrypt"
-“traefik.http.routers.traefik.service=api@internal”
-“traefik.http.middlewares.traefik-auth.basicauth.users=admin:$$apr1$$H6uskkkW$$IgXLP6ewTrSuBkTrqE8wj/”
-“traefik.http.routers.traefik.middlewares=traefik-auth”
谁阿米:
图片:traefik/whoami
容器名称:whoami
重新启动:除非停止
网络:
- 代理
标签:
-“traefik.enable=true”
- “traefik.http.routers.whoami.rule=Host(`whoami.yourdomain.com`)”
-“traefik.http.routers.whoami.entrypoints=websecure”
-“traefik.http.routers.whoami.tls.certresolver=letsencrypt”
-“traefik.http.services.whoami.loadbalancer.server.port=80”
网络:
proxy:
外部:真实
```
ta
r
-xzf traefik_v3.2.0_linux_amd64.tar.gz
sudo mv traefik /usr/local/bin/
sudo chmod +x /usr/local/bin/traefik
````### Kubernetes 与 Helm对于 Traefik Kubernetes 部署,Helm 是在集群上安装入口控制器的标准方法:````
bas
h
helm 仓库添加 traefik https://traefik.github.io/charts
舵回购更新
kubectl 创建名称空间 traefik
helm 安装 traefik traefik/traefik \
--命名空间 traefik \
--set ingressRoute.dashboard.enabled=true \
--set ports.websecure.tls.enabled=true \
--set certResolvers.letsencrypt.acme.email=admin@yourdomain.com \
--set certResolvers.letsencrypt.acme.storage=/data/acme.json \
--set certResolvers.letsencrypt.acme.tlsChallenge=true
````验证部署:````
bas
h
kubectl 获取 pod -n traefik
kubectl 端口转发 -n traefik svc/traefik 9000:9000
# 打开 http://localhost:9000/dashboard/
````## 与 Docker、Kubernetes、Consul 和 Docker Compose 集成### Docker 提供程序(自动发现)Docker 提供程序是 Traefik 的杀手级功能。 任何带有 Traefik 标签的容器都会自动注册:````
yam
l
服务:
应用程序编程接口:
图片:myapp/api:最新
网络:
- 代理
标签:
-“traefik.enable=true”
- "traefik.http.routers.api.rule=Host(`api.example.com`) && PathPrefix(`/v2`)"
-“traefik.http.routers.api.entrypoints=websecure”
-“traefik.http.routers.api.tls.certresolver=letsencrypt”
- “traefik.http.routers.```
bas
h
docker网络创建代理
docker 组成-d
```
p
.middlewares.api-ratelimit.ratelimit.average=100"
-“traefik.http.middlewares.api-ratelimit.rate``yaml
全球:
sendAnonymousUsage: false
应用程序编程接口:
仪表板:真实
不安全:假
入口点:
网址:
地址:“:80”
http:
重定向:
入口点:
至:网络安全
方案:https
永久:真实
网络安全:
地址:“:443”
特拉菲克:
地址:“:8080”
提供者:
泊坞窗:
默认暴露: false
网络:代理
观看:真实
文件:
目录:/configs
观看:真实
证书解析器:
让加密:
极致:
电子邮件:admin@yourdomain.com
存储:/acme.json
tls 挑战:{}
日志:
级别:信息
格式:json
文件路径:“/logs/traefik.log”
访问日志:
格式:json
文件路径:“/logs/access.log”
指标:
普罗米修斯:
添加入口点标签:true
添加路由器标签:true
添加服务标签:true
```
fi
k
的原生 `IngressRoute` CRD 提供比标准 Kubernetes `Ingress` 更多的控制:````
yam
l
api版本:traefik.io/v1alpha1
种类:IngressRoute
元数据:
名称:api路由
命名空间:生产
规格:
入口点:
- 网络安全
路线:
- 匹配:主机(`api.example.com`) && PathPrefix(`/v2`)
种类:规则
中间件:
- 名称:速率限制
- 名称:条带前缀
服务:
- 名称:api 服务
端口:8080
健康检查:
路径:/健康
间隔秒数:10
- 匹配:主机(`api.example.com`) && PathPrefix(`/v1`)
种类:规则
服务:
- 名称:api-v1-服务
端口:8080
:
certResolver: 让加密
````单独创建中间件:````
yam
l
api版本:traefik.io/v1alpha1
种类:中间件
元数据:
名称:速率限制
命名空间:生产
规格:
速率限制:
平均:100
爆发:50
---
api版本:traefik.io/v1alpha1
种类:中间件
元数据:
名称:带前缀
命名空间:生产
规格:
条带前缀:
前缀:
- /v2
````### 领事服务发现对于 H```
bas
h
wget https://github.com/traefik/traefik/releases/download/v3.2.0/traefik_v3.2.0_linux_amd64.tar.gz
tar -xzf traefik_v3.2.0_linux_amd64.tar.gz
sudo mv traefik /usr/local/bin/
sudo chmod +x /usr/local/bin/traefik
``int:
地址:“127.0.0.1:8500”
令牌:“您的领事令牌”
````使用
Traefik 标签在 Consul 中注册服务:````
bas
h
curl -X PUT http://localhost:8500/v1/agent/service/register \
-d'{
“名称”:“付款API”,
"标签": ["traefik.enable=true", "traefik.http.routers. payments.rule=Host(` payments.example.com`)"],
“端口”:8080,
“Ch```
bas
h
helm 仓库添加 traefik https://traefik.github.io/charts
舵回购更新
kubectl 创建名称空间 traefik
helm 安装 traefik traefik/traefik \
--命名空间 traefik \
--set ingressRoute.dashboard.enabled=true \
--set ports.websecure.tls.enabled=true \
--set certResolvers.letsencrypt.acme.email=admin@yourdomain.com \
--set certResolvers.letsencrypt.acme.storage=/data/acme.json \
--set certResolvers.letsencrypt.acme.tlsChallenge=true
```
aefik
.http.routers.api.rule=Host(`api.example.com`)"
-“traefik.http.routers.api.entrypoints=websecure”
-“traefik.http.routers.api.tls.certresolver=letsencrypt”
-“traefik.http.services.api.loadbalancer.server.port=3000”
环境:
- DATABASE_URL=postgres://db:5432/api数据库:
图片:postgres:16
网络:
- 内部
环境:
- POSTGRES_DB=api网络:
代理:
外部:真实
内部:
司机:桥
bas
h
kubectl 获取 pod -n traefik
kubectl 端口转发 -n traefik svc/traefik 9000:9000
# 打开 http://localhost:9000/dashboard/
```` 性能基准在具有 16GB RAM 的 4 vCPU AMD 服务器上进行的社区基准测试显示,Traefik 与现有代理相比具有优势:| 公制| nginx | HAProxy | Traefik v3.2 | Traefik v3.2 + FastProxy | 球童 |
|--------|--------|---------|-------------|------------------------|--------|
| 请求/秒 | 25,367 | 25,367 24,263 | 24,263 18,291 | 18,291 **20,795*```
yam
l
服务:
应用程序编程接口:
图片:myapp/api:最新
网络:
- 代理
标签:
-“traefik.enable=true”
- "traefik.http.routers.api.rule=Host(`api.example.com`) && PathPrefix(`/v2`)"
-“traefik.http.routers.api.entrypoints=websecure”
-“traefik.http.routers.api.tls.certresolver=letsencrypt”
-“traefik.http.routers.api.middlewares=api-ratelimit,api-cors”
-“traefik.http.middlewares.api-ratelimit.ratelimit.average=100”
-“traefik.http.middlewares.api-ratelimit.ratelimit.burst=50”
-“traefik.http.middlewares.api-cors.headers.accesscontrolallowmethods=GET、POST、PUT、DELETE、OPTIONS”
-“traefik.http.middlewares.api-cors.headers.accesscontrolalloworiginlist=https://app.example.com”
-“traefik.http.services.api.loadbalancer.server.port=8080”
-“traefik.http.services.api.loadbalancer.healthcheck.path=/health”
-“traefik.http.services.api.loadbalancer.healthcheck.interval=10s”
``ting 社区。 自动 Let's Encrypt 证书与简单的基于标签的配置相结合,使添加新服务成为复制粘贴操作。3. **多租户 SaaS 平台**:使用“HostRegexp”规则,SaaS 平台自动将“{tenant}.app.example.com”路由到正确的命名空间或服务:````
yam
l
-“traefik.http.routers.app.rule=HostRegexp(`{租户:[a-z0-9-]+}.app.example.com`)”
-“traefik.http.routers.app.service=app-service”
````## 高级使用和生产强化### 安全检查表1. **默认禁用暴露** — 仅显式注册容器:
yam l 提供者: 泊坞窗: 默认暴露: false
yam l 安全选项:
- 无新特权:true
只读:真
````3. 保护 Docker 套接字 — 使用套接字代理而不是直接挂载
/var/run/docker.sock:
yam
l
服务:
套接字代理:
图片:tecnativa/docker-socket-proxy
环境:
- 容器=1
- 服务=1
卷:
- /var/run/docker.sock:/var/run/docker.sock:ro
````4. **全局添加安全标头**:
yam l
配置/security.yml #http: 中间件: 安全标头: 标题: 框架拒绝: true ssl重定向:真 browserXssFilter:true contentTypeNosniff:true 强制STS标头:true stsIncludeSubdomains:true sts秒:31536000
yam
l
api版本:traefik.io/v1alpha1
种类:IngressRoute
元数据:
名称:api路由
命名空间:生产
规格:
入口点:
- 网络安全
路线:
- 匹配:主机(`api.example.com`) && PathPrefix(`/v2`)
种类:规则
中间件:
- 名称:速率限制
- 名称:条带前缀
服务:
- 名称:api 服务
端口:8080
健康检查:
路径:/健康
间隔秒数:10
- 匹配:主机(`api.example.com`) && PathPrefix(`/v1`)
种类:规则
服务:
- 名称:api-v1-服务
端口:8080
:
certResolver: 让加密
yam l 指标: 普罗米修斯: 添加入口点标签:true 添加路由器标签:true 添加服务标签:true 桶:
- 0.005
- 0.01
- 0.025
- 0.05
- 0.1
- 0.25
- 0.5
- 1.0
- 2.5
- 5.0
- 10.0
普罗米修斯抓取配置:yam l scrap_configs: - 工作名称:’traefik’ 刮擦间隔:15s 静态配置:
- 目标:[’traefik:8080’]
*官方 Traefik Grafana 仪表板 (ID 17346) 可视化请求率、错误率和响应延迟。*Import the official Traefik da```
yam
l
api版本:traefik.io/v1alpha1
种类:中间件
元数据:
名称:速率限制
命名空间:生产
规格:
速率限制:
平均:100
爆发:50
---
api版本:traefik.io/v1alpha1
种类:中间件
元数据:
名称:带前缀
命名空间:生产
规格:
条带前缀:
前缀:
- /v2
Certificate expiry (alert when < 7 days) #
traefik_tls_certs_not_after - 时间() < 7 * 86400
### 扩展到单个节点之外为了获得高可用性,请在第 4 层负载均衡器后面运行多个 Traefik 副本:
yam
l
docker-compose.yml(Swarm 模式) #
服务: 特拉菲克: 图片:traefik:v3.2 部署: 副本:3 安置: 限制:
- 节点.角色==经理 update_config:``` yam l
traefik.yml 片段 #
提供者: 领事目录: 前缀:“traefik” 默认暴露: false 刷新间隔:“5s” 端点: 地址:“127.0.0.1:8500” 令牌:“您的领事令牌”
|--------|---------|--------|---------|--------|
| **自动服务发现** | 是(Docker、K8s、Consul)| 否(需要重新加载)| 否(需要重新加载)| Partial (via config) |
| **无需停机即可重新加载配置** ```
bas
h
curl -X PUT http://localhost:8500/v1/agent/service/register \
-d'{
“名称”:“付款API”,
"标签": ["traefik.enable=true", "traefik.http.routers. payments.rule=Host(` payments.example.com`)"],
“端口”:8080,
“检查”:{
"HTTP": "http://localhost:8080/health",
“间隔”:“10秒”
}
}'
``RPS)** | ~18K (v3.2) / ~21K (FastProxy) | ~25K | ~24K | ~14K |
| **内存占用** | 中型(~80-120MB)| 低 (~20-40MB) | 低 (~20-50MB) | 低 (~30-60MB) |
| **学习曲线** | 中等| Steep | 中等| 低|
| **插件生态系统** | 丰富(30+ 插件)| 丰富(模块)| 有限公司| 成长|
| **HTTP/3 支持** | 是(实验性)| 是(模块)| 没有 | 是的 |
| **配置格式** | YAML / TOML / Labels | 自定义语法 | 自定义语法 | Caddyfile (JSON) |## 局限性和诚实评估
yam l
~/projects/api/docker-compose.yml #
服务: 应用程序: 图片:myapi:最新 网络:
- 代理
- 内部 标签: -“traefik.enable=true”
- “traefik.http.routers.api.rule=Host(
api.example.com)” -“traefik.http.routers.api.entrypoints=websecure” -“traefik.http.routers.api.tls.certresolver=letsencrypt” -“traefik.http.services.api.loadbalancer.server.port=3000” 环境: - DATABASE_URL=postgres://db:5432/api
数据库: 图片:postgres:16 网络:
- 内部 环境:
- POSTGRES_DB=api
网络: 代理: 外部:真实 内部: 司机:桥
HTTP/2 后端。 如果您的服务需要 H2C 通信,则必须使用标准(较慢)引擎。5. **资源使用**:Traefik 消耗的内存比 Nginx 或 HAProxy 多 2-3 倍。 在资源有限的边缘设备上,这一点很重要。
*Traefik 的内置仪表板实时显示路由器、服务、中间件和健康状态。*当您重视**动态配置和操作简单性**而不是原始性能时,请选择 Traefik。 当您需要静态配置的最大吞吐量时,请选择 Nginx 或 HAProxy。## 常见问题### 进行````
bas
h
cd ~/projects/api && docker compose up -d
````?不会。Traefik 会监视您的 Docker 套接字或 Kubernetes API 并实时更新路由。 带有 Traefik 标签的新容器会在几秒钟内被检测到,并立即路由流量。 这是相对于传统代理的主要优势。### 我可以将 Traefik 与多个 Docker Compose 项目一起使用吗?是的。 创建一个外部 Docker 网络(`docker network create proxy`)并将 Traefik 和所有应用程序服务附加到它。 每个项目都可以使用 Traefik 标签定义自己的“docker-compose.yml”——只要它们共享网络,Traefik 就会自动发现它们。### Traefik 如何处理 Let's Encrypt 速率限制?Traefik 将证书存储在“acme.json”文件中,并且仅在证书丢失或过期时请求新证书。 对于频繁重新创建容器的环境,请将“acme.json”挂载为持久卷。 让我们加密产品```
yam
l
实验:
快速代理:{}
````每周固定域名。### Traefik 的仪表板可以安全公开吗?仅通过身份验证。 仪表板显示您完整的路由配置,包括后端服务。 在公开中间件之前,请始终应用具有 BasicAuth、ForwardAuth(至 Authelia/Authentik)或 IP 白名单的中间件。 切勿在生产中使用“--api.insecure=true”。### 标准 Ingress 和 Traefik 的 IngressRoute 有什么区别?标准 Kubernetes `Ingress` 是一种通用资源,具有有限的路由选项。 Traefik 的“IngressRoute” CRD 添加了中间件链接、TCP/UDP 路由、加权负载平衡、流量镜像和直接 TLS 选项配置 - 所有这些都无需注释。### 我可以在不停机的情况下从 Traefik v2 迁移到 v3 吗?Traefik v3 在 CRD 版本中引入了重大更改(`traefik.containo.us`→`traefik.io`)``yaml
-“traefik.http.routers.app.rule=HostRegexp(`{租户:[a-z0-9-]+}.app.example.com`)”
-“traefik.http.routers.app.service=app-service”
`` 退役 v2. Traefik 文档提供了详细的迁移指南。## 结论Traefik 通过解决一个实际的运营问题:容器化环境中的动态服务发现,赢得了 63,229 颗 GitHub 星星。 自动Docker/Kubernete```
yaml
的结合
提供者:
泊坞窗:
默认暴露: false
``rt 和功能性仪表板使其成为运行微服务的团队的务实选择。对于 ``yaml
安全选项:
- 无新特权:true
只读:真
```js
o
n
"footer-cta-legacy" "DigitalOcean" >}} 提供了一个简单的平台,其中包含托管 Kubernetes 和与 Traefik 干净集成的负载均衡器。 对于专用```
yam
l
服务:
套接字代理:
图片:tecnativa/docker-socket-proxy
环境:
- 容器=1
- 服务=1
卷:
- /var/run/docker.sock:/var/run/docker.sock:ro
``ge路由。**后续步骤:**
1.克隆官方仓库:`git clone https://github.com/traefik/traefik.git`
2. 根据本指南部署 Docker Compose 设置
3. 使用 Traefik 标签添加您的第一个服务
4. 加入 [Traefik c```
yam
l
# 配置/security.yml
http:
中间件:
安全标头:
标题:
框架拒绝: true
ssl重定向:真
browserXssFilter:true
contentTypeNosniff:true
强制STS标头:true
stsIncludeSubdomains:true
sts秒:31536000
自定义响应标头:
X-Robots-标签:“无、无存档、无片段、无翻译、无图像索引”
权限策略:“摄像头=()、麦克风=()、地理位置=()”
```链接有助于支持创建免费、深入的技术指南。*
## 推荐的托管和基础设施在将上述任何工具部署到生产环境之前,您需要坚实的基础设施。 dibi8实际使用和推荐的两个选项:- **{< aff "digitalocean" "footer-cta-legacy" "DigitalOcean" >}}** — 200 美元免费赠金,为期 60 天,覆盖全球 14 个以上区域。 运行开源人工智能工具的独立开发者的默认选项。
- **HTStack
** — 香港```
yam
l
http:
中间件:
api 速率限制:
速率限制:
平均:100
爆发:50
周期:1m
api-断路器:
断路器:
表达式:“LatencyAtQuantileMS(50.0) > 100”
检查周期:“10s”
回退持续时间:“10s”
恢复时间:“10s”
u b 存储库](https://github.com/traefik/traefik)
- Traefik v3.2 发行说明 — FastProxy 引擎
- Traefik v3.3 可观测性改进
- [Traefik FastProxy 实验配置](https://doc.traefik.io/traefik/reference/install-configuration/experimental/fastpr``` yam l 指标: 普罗米修斯: 添加入口点标签:true 添加路由器标签:true 添加服务标签:true 桶:
- 0.005
- 0.01
- 0.025
- 0.05
- 0.1
- 0.25
- 0.5
- 1.0
- 2.5
- 5.0
- 10.0 Traefik 与 HAProxy 比较 — Loft.sh](https://www.loft.sh/blog/nginx-vs-traefik-vs-haproxy-comparing-kubernetes-ingress-controllers)
- Caddy vs Traefik vs HAProxy vs Nginx — BigMike.help
yam
l
scrap_configs:
- 工作名称:'traefik'
刮擦间隔:15s
静态配置:
- 目标:['traefik:8080']
promq l
路由器的请求率 #
速率(traefik_router_requests_total[5m])
错误率 #
速率(traefik_router_requests_total{code=~“5..”}[5m])
第 95 个百分位响应时间 #
histogram_quantile(0.95, 速率(traefik_service_request_duration_seconds_bucket[5m]))
证书过期(< 7 天时发出警报) #
traefik_tls_certs_not_after - 时间() < 7 * 86400
yam
l
# docker-compose.yml(Swarm 模式)
服务:
特拉菲克:
图片:traefik:v3.2
部署:
副本:3
安置:
限制:
- 节点.角色==经理
更新配置:
并行度:1
延迟:10秒
端口:
- 目标:80
发表:80
模式:主机
- 目标:443
发表: 443
模式:主机
````
💬 留言讨论