Traefik 中的配置可以使用两种不同形式:
- 动态路由配置(动态配置)
- 启动配置(静态配置)
静态配置中的元素(这些元素不会经常更改)连接到 providers并定义 Treafik 将要监听的 entrypoints。
而 动态配置 包含定义系统如何处理请求的所有配置内容。这些配置是可以改变的,而且是热更新的,不存在请求中断或连接损耗。
动态配置
Traefik 从 providers 获取它的 动态配置:编排器,服务注册中心,或者普通的配置文件。
由于这个配置和你的基础架构是相关的,我们可以去参考 该文档的专门介绍部分 来了解更多信息。
在 快速入门示例 中,动态配置来自于一个以标签形式附加在的一个 docker 容器至上。
HTTPS 证书也属于动态配置
你可以添加/更新/删除它们,而不需要重新启动 Traefik 实例。
静态配置
在 Traefik 中定义了三种不同的且互斥方式(也就意味着你只能使用其中的一种方式):
- 在配置文件中
- 在命令行参数中
- 通过环境变量传递
按照上面列出的顺序以此读取配置信息。
如果没有为给定选项提供任何值,那么将会使用默认值。此外,如果选项有子选项,并且没有指定任何这些子选项,则默认值也将适用。
比如,--providers.docker
选项本身就可以直接启用 docker provider 了,即使存在--providers.docker.endpoint
之类的子选项,一旦确定了,该选项将设置(并重置)--providers.docker
子选项的所有默认值。
配置文件
Traefik 在启动的时候,会在一下位置中搜索名为 traefik.toml
(或 traefik.yml
、traefik.yaml
)的文件:
/etc/traefik/
$XDG_CONFIG_HOME/
$HOME/.config/
.
(工作目录)
另外我们还可以适用 configFile
参数来覆盖它:
traefik --configFile=foo/bar/myconfigfile.toml
参数
可以使用如下命令获取所有可用的参数列表:
traefik --help
# 或者
docker run traefik[:version] --help
# 例如: docker run traefik:2.0 --help
所有可用的参数可以在地址https://doc.traefik.io/traefik/reference/static-configuration/cli/。
环境变量
所有可用的环境变量可以在这里找到https://doc.traefik.io/traefik/reference/static-configuration/env/。
可用的配置选项
所有配置选项都在其相关的文档部分中有记录。我们可以通过菜单切换去查找可用的功能特性, 比如通过 providers 和 路由部分 可以查看它们相应的运行情况。