注:这篇文章只是单纯的叙述Pilot是什么,怎么用,有啥用
Traefik 在2.x版本过后提供了 TCP、UDP 的支持,提出了中间件的概念,但是目前中间件都是官方内置的,在实际使用的过程中很多企业都有自己的实际需求,所以在社区版本中提到最多的功能也就是希望能够支持自定义中间件,前面我们有介绍过通过修改源码的方式来添加自定义中间件,但是这种方式比如侵入性太高,需要重新编译源码,所以并不推荐使用这种方式。
Traefik 近期在 v2.3.0-rc1 版本中发布了一个新的全局控制面板 SaaS 服务:Traefik Pilot(https://pilot.traefik.io ),Pilot 可以扩展 Traefik 的功能,为每个 Traefik 实例在一个统一的 Dashboard 页面上提供强大的可观测性和控制功能,此外 Pilot 还为 Traefik 引入了大家非常关心的插件功能,包括一个插件应用中心,通过定制请求和响应处理来扩展 Traefik 中间件。
自定义中间件
新的插件系统构建在 Yaegi 的基础之上,提供了一种优雅的、可扩展和高性能的方式来增强 Traefik 的功能,而无需修改或编译 Traefik 的源代码。
插件通过一个额外的包来对用户的请求和响应进行转换,这些请求和响应都由 Traefik 来处理。以前给 Traefik 官方仓库贡献的插件由于各种原因可能无法被 Traefik 上游开发者接受,现在开发者完全不用担心了,直接使用官方的插件开发工具开发插件即可,还可以与其他用户共享插件,就像在 GitHub 上发布一样的,新的插件引擎使社区能够使用 Traefik Pilot 安装他们的自定义中间件,而无需重新编译代码。
Pilot 现在的初始版本包括一个免费使用的插件市场,通过直接从目录中安装中间件插件来扩展 Traefik,当然我们也可以很轻松地创建、发布和安装自己的插件。
安全和可用性
以前我们要确保 Traefik 的健康、可用和安全,基本上都是通过部署额外的监控系统来收集各种指标,然后通过报警系统来监控。现在 Pilot 就免费提供了 Traefik 的安全性和可用性监控的功能。
Traefik 注册后,内置的心跳机制将定期和 Pilot 进行检查,并报告 Traefik 实例的监控和可用性情况,此外,Pilot 还将检查适用于你的 Traefik 安装和配置的常见漏洞(CVE)。可以在 Pilot 页面上进行报警设置,可以通过 email 或 webhook 来接收通知。
使用
使用 Traefik Pilot 非常简单,首先通过页面 https://pilot.traefik.io 注册并登录 Pilot,然后会得到一个用于注册 Traefik 实例到 Pilot 的 Token,然后将获取的 Token 配置到 Traefik 的静态配置中,如下所示:
配置成功后,正常我们的 Traefik 实例就会被注册到 Pilot 页面上了:
然后我们就可以在插件市场上选择合适的插件,点击 Install Plugin:
就会获得安装该插件的方法:
要开发一个自定义的插件可以参考官方的示例仓库:https://github.com/containous/plugindemo。