甚麼是 Traefik
Traefik 是一個開源的反向代理工具,主要用在網路架構中的邊緣路由 (Edge Router)上。
幫助攔截數據,重新導或根據規則修改數據。
Traefik 不像傳統的 nginx 等,有一固定的配置設定檔案,Traefik 的配置檔案會根據 Provider 的類型,而自動載入對應設定,這稱作 Configuration Discovery,而配置的類型可以分為以下四種
- Label-based
- Key-Value-based
- Annotaion-based
- File-based
Traefik 當前支援的 Provider 圖表
Provider | Type | Configuration Type | Provider Name |
Orchestrator | Label | docker | |
Orchestrator | Custom Resource | kubernetescrd | |
Orchestrator | Ingress | kubernetes | |
Orchestrator | Gateway API Resource | kubernetesgateway | |
Orchestrator | Label | consulcatalog | |
Orchestrator | Label | nomad | |
Orchestrator | Label | ecs | |
Manual | YAML/TOML format | file | |
KV | KV | consul | |
KV | KV | etcd | |
KV | KV | zookeeper | |
KV | KV | redis | |
Manual | JSON format | http |
Traefik 主要功能如下根據類型可以分類如下
- 動態配置
- Routers
- Middlewares
- Services
- 靜態配置

動態配置會根據服務提供者進行對應設定
靜態配置有三種方式設定: 1. 配置文件、2. 命令行參數、3. 環境變數。三者只能擇一使用
在 traefik 服務啟動後,靜態配置設定檔會放置在 traefik.yml 文件中,檔案的位子主要在:
/etc/traefik/
$XDG_CONFIG_HOME/
$HOME/.config/
.
(the working directory)..
(工作目錄)。