在 Traefik Proxy 2.5 中使用/开发私有插件(Traefik 官方博客)

Traefik Proxy 2.5引入了直接从本地加载插件的新功能,无需Traefik Pilot。本文档详细介绍了如何构建捆绑插件的Docker镜像,包括从公共和私有git存储库克隆插件,并提供了使用docker-compose作为插件开发环境的指导。此外,还展示了如何配置本地DNS服务以优化开发流程。
摘要由CSDN通过智能技术生成

image

Traefik Proxy 在设计上是一个模块化路由器,允许您将中间件放入您的路由中,并在请求到达预期的后端服务目的地之前对其进行修改。 Traefik 内置了许多这样的中间件,还允许您以插件的形式加载自己的中间件。

查找和安装中间件插件的最简单方法是通过 Traefik PilotTraefik Pilot 是一个软件即服务 (SaaS) 平台,它为您的所有 Traefik 代理实例提供全球指标和警报系统,并具有免费使用的内置插件商店。 在商店内,您可以浏览所有可用的开源插件,然后单击按钮进行安装。

随着 Traefik Proxy v2.5 的发布,有一种新方法可以直接从本地存储加载插件(并且无需启用 Traefik Pilot)。 只需将您的插件源代码放入一个名为 /plugins-local 的新目录中。(您将相对于当前工作目录 [从您调用 traefik 的位置] 创建此目录,如果您使用的是 traefik docker 映像,则入口点始终是根目录 /。) Traefik Proxy 本身将负责构建(解释 ) 你的插件,所以你所要做的就是编写源代码,并在正确的目录中提供它以便 Traefik Proxy 加载它。插件每次启动仅加载一次(即,每次您希望重新加载插件源代码时都必须重新启动 traefik)。

在以下场景中,您将找到使用 Traefik Proxy v2.5 编写自己的 Docker 容器镜像并将插件源代码捆绑到该镜像的 /plugins-local 目录中的示例。在使用 Docker 在开发环境中测试您的插件之后(并且可能在为其创建持续集成构建之后),您可以将此镜像推送到容器 registry,并在生产 Docker 服务器和/或 Kubernetes 集群中引用此镜像。您可以将镜像保密,也可以将其发布并在任何地方共享您的插件。

构建 Traefik Proxy 容器镜像并捆绑 demo 插件

这是一个示例 Dockerfile,它重新混合了标准 traefik:v2.5 docker 映像,并添加了一个从可配置的 git 存储库自动克隆的插件。

在某个地方创建一个临时目录,并在其中创建一个名为 Dockerfile.demo 的新文件:

# Dockerfile.demo - Example for Traefik Proxy and a demo plugin from git:
FROM alpine:3
ARG PLUGIN_MODULE=github.com/traefik/plugindemo
ARG PLUGIN_GIT_REPO=https://github.com/traefik/plugindemo.git
ARG PLUGIN_GIT_BRANCH=master
RUN apk add --update git && \
    git clone ${PLUGIN_GIT_REPO} /plugins-local/src/${PLUGIN_MODULE} \
      --depth 1 --single-branch --branch ${PLUGIN_GIT_BRANCH}

FROM traefik:v2.5
COPY --from=0 /plugins-local /plugins-local

默认构建参数加载 Traefik Labs 发布的示例插件 demo,它本质上是内置 headers.customRequestHeaders 中间件的克隆,但作为插件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值