前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Traefik 使用插件(五)

Traefik 使用插件(五)

原创
作者头像
rxg456
发布2022-05-13 00:26:26
8090
发布2022-05-13 00:26:26
举报
文章被收录于专栏:野生云+

一、介绍

插件支持是一项强大的功能,允许开发人员向 Traefik 添加新功能并定义新行为。例如,插件可以修改请求或标头、发出重定向、添加身份验证等,提供与 Traefik中间件类似的功能。 然而,与传统的中间件不同,插件是动态加载的,并由嵌入式解释器yaegi执行。无需编译二进制文件,所有插件都是 100% 跨平台的,这使得它们易于开发并与更广泛的 Traefik 社区共享 Traefik v2.3 及更高版本提供对插件的支持 插件可能会以不希望的方式修改 Traefik 的行为。向生产 Traefik 实例添加新插件时要小心。

二、插件和 Traefik Pilot

Traefik 与 Traefik Pilot 一起启用插件生态系统。Traefik 操作员可以从在线目录中浏览和安装插件,该目录可从Traefik Pilot 仪表板的插件选项卡中获得

选择插件的磁贴会打开一个描述插件功能的页面,以及可选的可用配置选项.

在那里,选择安装插件将显示必要的代码,添加到Traefik代理的静态 and/or 动态配置中以完成安装过程

三、安装插件

对于一个特定的Traefik实例来说,一个插件要被激活,它必须在静态配置中被声明。当你选择安装插件时,要添加的代码是由Traefik Pilot UI提供的。

插件完全在启动过程中被解析和加载,这使得Traefik能够检查代码的完整性,并在早期捕获错误。如果在加载过程中发生错误,该插件将被禁用。

需要重新启动:出于安全考虑,在Traefik运行时,无法启动一个新的插件或修改现有的插件

一旦加载,中间件插件的行为就像静态编译的中间件。它们的实例化和行为是由动态配置驱动的。

3.1 静态配置

在下面的例子中,我们添加了blockpathrewritebody插件:

代码语言:javascript
复制
--entryPoints.web.address=:80
--pilot.token=xxxxxxxxx
--experimental.plugins.block.modulename=github.com/traefik/plugin-blockpath
--experimental.plugins.block.version=v0.2.0
--experimental.plugins.rewrite.modulename=github.com/traefik/plugin-rewritebody
--experimental.plugins.rewrite.version=v0.3.0

3.2 动态配置

一些插件需要通过添加动态配置来配置。对于bodyrewrite插件,例如:

代码语言:javascript
复制
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
  name: my-rewritebody
spec:
  plugin:
    rewrite:
      rewrites:
        - regex: example
          replacement: test

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、介绍
  • 二、插件和 Traefik Pilot
  • 三、安装插件
    • 3.1 静态配置
      • 3.2 动态配置
      相关产品与服务
      消息队列 TDMQ
      消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档