Traefik 代理文档
什么是 Traefik?
Traefik 是一款开源的应用代理(Application Proxy),也是 Traefik Hub 运行时平台的核心组件。
如果你从 Traefik 的服务发现和路由开始使用,可以根据需要无缝地添加 API 管理、API 网关、AI 网关 和 API Mock 等能力。
有关 Traefik 全部产品及其能力的详细对比,请参阅我们的产品功能对比。
Traefik 拥有 33 亿次下载量,GitHub 上超过 55k 星标,在全球范围的混合云、多云、本地部署和裸金属环境中被广泛使用,覆盖 Kubernetes、Docker Swarm、AWS 等众多平台,列表还在持续增加。
它的工作方式 —— Traefik 接收发往你系统的请求,识别出哪些组件负责处理这些请求,并将请求安全地路由过去。它通过自动检测你的基础设施来识别相关信息以及哪个服务处理哪个请求,从而自动发现服务的正确配置。
由于所有操作都是自动、实时发生的(无需重启、无需中断连接),你就可以专注于开发和部署新功能,而不必费心配置和维护其运行状态。
来自 Traefik 维护者团队
在开发 Traefik 时,我们的主要目标是让它易于使用,我们相信你会喜欢它。
用户角色(Personas)
Traefik 的设计会针对不同背景的人提供不同的支持。在编写和组织这些文档时,我们心里始终装着三类用户:
- 初学者:你刚接触 Traefik 或反向代理,希望通过简单、有引导的步骤完成设置,而无需深入了解高级主题。
- DevOps 工程师:你负责管理基础设施或集群(Docker、Kubernetes 或其它编排器),需要把 Traefik 集成到你的环境中,并重视可靠性、性能和流畅的部署体验。
- 开发者:你负责创建和部署应用或 API,关心如何通过 Traefik 暴露服务、应用路由规则,并将其与开发工作流集成。
核心概念
Traefik 的主要概念有助于你理解请求是如何流转到你的服务的:
- 入口点(Entrypoints) 是 Traefik 的网络入口点。它们定义接收数据包的端口,以及是监听 TCP 还是 UDP。
- 路由器(Routers) 负责将传入请求连接到可以处理它们的服务。在此过程中,路由器可以使用中间件(middleware) 来更新请求,或在请求被转发到服务之前执行操作。
- 服务(Services) 负责配置如何访问最终处理传入请求的实际服务。
- 提供者(Providers) 是基础设施组件,包括编排器、容器引擎、云提供商或键值存储。其思路是:Traefik 通过查询 Provider 的 API 来发现相关的路由信息;当 Traefik 检测到变化时,便动态更新路由。
这些概念协同工作,从请求到达的那一刻起,直到请求到达你的应用,全过程管理着你的流量。
如何使用本文档
- 导航:每个主章节都聚焦于使用 Traefik 的一个具体阶段 —— 安装、暴露服务、可观测性、扩展与迁移。使用侧边栏跳转到最符合你需求的章节。
- 实用示例:你会看到针对不同环境(YAML/TOML、Labels、Tags)的代码片段和配置示例。
- 参考:当你需要查阅技术细节时,我们的参考部分提供了对配置选项和关键术语的深入讲解。
ℹ️ 提示
有问题?欢迎加入我们的社区论坛 讨论、学习,并与 Traefik 社区建立联系。
在生产环境使用 Traefik OSS?考虑升级到我们的 API 网关(观看演示视频),以获得更好的安全性、可控性和 7×24 支持。
仅需支持?查看针对 Traefik OSS 的 24/7/365 支持。