Traefik v2 源码安装访问dashboard

前言

Traefik v2 版本已经发布有一段时间了,看到 v2 有一些很不错的功能:

  • 支持TCP
  • 支持路由中间件
  • 支持灰度发布
  • 支持流量复制
  • 全新的 dashboard
  • ...

看官网的文档和一些中文的教程都是使用docker的示例,有些细节理解起来有点吃力,通过可执行文件学习,可以更好的理解其中的一些细节。
下面描述一下 Traefik v2 源码编译安装,启动,并访问 dashboard的过程。

编译安装

1 获取最新源码

git clone git@github.com:containous/traefik.git

cd traefik 

git checkout v2.1

2 生成 webui 的静态文件

cd webui

npm install

npm run build

可以看到 traefik/static 目录下生成了静态文件

3 使用go-bindata把静态文件都打包到 go 程序中

go generate

4 编译生成可执行文件 traefik

go build -v -o traefik ./cmd/traefik

5 配置文件

Traefik 中的配置发现是通过 provider 组件实现的
现在支持的 provider 有 docker、k8s、File 、Marathon 、Rancher
下面以 File 作为示例

  • 静态配置文件 traefik.toml,仅在启动时被加载
[global]
  checkNewVersion = true
  sendAnonymousUsage = true

[entryPoints]
  [entryPoints.web]
    address = ":80"

  [entryPoints.websecure]
    address = ":443"

[log]
  level = "DEBUG"

[api]
  dashboard = true

[ping]

[providers]
  [providers.file]
    directory = "/path/config"
    filename = "dynamic.yml"
    watch = true
  • 动态配置文件 dynamic.toml,可被热更新(无需重启进程)
[http.routers]
  [http.routers.api]
    rule = "Host(`127.0.0.1`)"
    entryPoints = ["web"]
    service = "api@internal"

6 启动 traefik 服务

./traefik --configfile=traefik.toml

7 浏览器访问 http://127.0.0.1, 可以打开 taefik dashboard

访问Traefik v2 的 dashborad,使用官方的 docker 示例,直接运行就可以了,但是源码编译安装的包,启动后访问 dashboard 一直 404,过程中却折腾了很久,主要是2,3步的文档中给的有点少,我google了很久,发现不少人也遇到同样的问题,都没有好的解决办法。最后是在阅读源码 dashboard 部分找到方法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容