Skip to content

扩展 Traefik ​

扩展 Traefik ​

插件是使用自定义功能和行为扩展 Traefik 的强大功能。Plugin Catalog 是一个软件即服务 (SaaS) 平台,提供现有插件的详尽列表。

Plugin Catalog 访问

你可以从 Traefik Dashboard 使用 Plugins 菜单项访问 Plugin Catalog。

向 Traefik 实例添加新插件 ​

要向 Traefik 实例添加新插件,你必须更改该实例的安装(静态)配置。每个插件的 Install 部分都提供了安装(静态)配置示例。许多插件在 Traefik 路由(动态)配置中都有自己的部分。

实验性功能

插件可能以不可预见的方式更改 Traefik 的行为。在生产 Traefik 实例中添加新插件时要谨慎。

要了解有关如何向 Traefik 实例添加新插件的更多信息,请参阅开发者文档。

插件系统 ​

Traefik 支持两种不同的插件系统,每种都针对不同的用例和开发者偏好而设计。

Yaegi 插件系统 ​

Traefik Yaegi 插件使用 Go 语言开发。它本质上是一个 Go 包。与预编译的插件不同,Yaegi 插件由 Yaegi(嵌入 Traefik 中的 Go 解释器)即时执行。

这种方法消除了编译和复杂工具链的需要,使插件开发变得像创建 Web 浏览器扩展一样简单。Yaegi 插件支持中间件和 provider 功能。

主要特性 ​

  • 使用 Go 语言编写
  • 无需编译
  • 由嵌入式解释器执行
  • 支持完整的 Go 功能集
  • 开发期间可热重载

WebAssembly (WASM) 插件系统 ​

Traefik WASM 插件可以使用任何可编译为 WebAssembly (WASM) 的语言开发。这种方法基于 http-wasm。

WASM 插件编译为可移植的二进制模块,在保持安全隔离的同时以接近本机的性能执行。

主要特性 ​

  • 多语言支持(Go、Rust、C++ 等)
  • 编译为 WebAssembly 二进制
  • 接近本机的性能
  • 强大的安全隔离
  • 目前仅支持中间件

构建你自己的插件 ​

Traefik 用户可以创建自己的插件并使用 Plugin Catalog 与社区共享。要了解有关 Traefik 插件创建的更多信息,请参阅开发者文档。

基于 MIT 协议发布