配置介绍¶
魔法是如何发生的?
Traefik 中的配置可以使用两种不同的方式:
- 动态配置:完全动态的路由配置
- 静态配置:启动配置
静态配置 中的元素(这些元素不会经常更改)连接到 providers并定义 Treafik 将要监听的 entrypoints。
而 动态配置 包含定义系统如何处理请求的所有配置内容。这些配置是可以改变的,而且是无缝热更新的,没有任何请求中断或连接损耗。
不兼容的配置
需要注意的是,截止目前,Traefik v1.X 的旧配置与 v2.X 的配置不兼容的。 如果要测试 v2 版本,请确保你使用的是 v2 版本的配置。
动态配置¶
Traefik 从 providers 获取它的 动态配置:编排器,服务注册表,或者普通的旧配置文件。
由于这个配置和你的基础架构是相关的,我们可以去参考 该文档的专门介绍部分 来了解更多信息。
在 快速入门示例 中,动态配置来自于一个以标签形式附加在的一个 docker 容器至上。
HTTPS 证书也属于动态配置
你可以添加/更新/删除它们,而不需要重新启动 Traefik 实例。
静态配置¶
在 Traefik 中定义了3中不同的互斥方式(比如,你只能同时使用一种方式):
-
- 在配置文件中
-
- 在命令行参数中
-
- 通过环境变量传递
如果没有为给定选项提供任何值,那么将会使用默认值。此外,如果选项有子选项,并且没有指定任何这些子选项,则默认值也将适用。
比如,--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
所有可用的参数可以在 这里 找到。
环境变量¶
所有可用的环境变量可以在 这里 找到。
可用的配置选项¶
所有配置选项都在其相关的文档部分中有记录。我们可以通过菜单切换去查找可用的功能特性, 比如通过 providers 和 路由部分 可以查看它们相应的运行情况。