跳转至

概述

Traefik 的各种 Providers

Providers

Traefik 中的配置发现是通过下面的一些 providers 来实现的。providers 是现有的一些基础架构组件,可以是编排工具,容器引擎,云提供商或者 key-value 存储都可以。

Traefik 通过查询 providers 的 API 来查找有关路由的相关信息,Traefik 每次检测到更改时,都会动态更新路由。

编排器

虽然每个 provider 都是不同的,但是我们还是可以将这些 provider 大致分为4组:

  • 基于标签(每个部署的容器都附件了一组标签)
  • 基于键值(每个部署的容器使用相关信息来更新 key-value 存储)
  • 基于注解(带有注解的单独对象来定义容器的一些特性)
  • 基于文件(一些旧的配置文件)

支持的 Providers

下面列出的是现在 Traefik 支持的一些 providers。

Provider 类型 配置类型
Docker 编排器 标签
Kubernetes 编排器 自定义资源
Marathon 编排器 标签
Rancher 编排器 标签
File 手动 TOML/YAML 文件格式

更多 Providers

当前版本的 Traefik 还不支持所有的 provider。可以查看 上一版本(v1.7) 了解更大 providers 的信息。

限制服务发现的范围

默认情况下,Traefik 将会为所有检测到的容器创建路由。如果你想限制 Traefik 的服务发现范围,也就是想要禁止某些容器的路由创建,我们可以通过两种不同的方式来进行操作:

  • 使用通用的配置选项 exposedByDefault
  • 使用基于约束的更精细的粒度控制

exposedByDefaulttraefik.enable

支持该功能的 providers 列表:

约束

支持约束的 providers 列表: