云原生智能网关 插件管理

云原生网关提供插件管理功能,可以以在控制台上管理你的系统插件、原生插件、部署自定义插件等。这里说明相关的插件定义和开发自定义插件并部署到云原生网关的操作步骤。

相关产品
云原生智能网关 产品页,含版本规格、价格与购买入口。

一、插件介绍

系统插件原生插件自定义插件

系统插件是指云原生网关在开源基础上提供的增强插件。

名称 类型 说明
tse-breaker 流量控制 Kong 熔断插件。
tse-traffic-mirror 流量控制 流量镜像插件。
tse-rate-limiting 流量控制 控制台服务与路由的限流策略能力,限流控制。
tse-proxy-rewrite 请求转换 重写插件,鉴权配置。
tse-custom-auth 安全 自定义鉴权的能力,自定义鉴权。
tse-cloud-waf 安全 控制台安全防护能力,控制台安全鉴权。
tse-kafka-log 可观测 上报日志到 Kafka,查看插件说明。
tse-prometheus 可观测 控制台 Prometheus 监控能力。
tse-trace 可观测 控制台链路追踪能力,链路追踪。
tse-global-configuration 全局配置 控制台全局配置能力。
tse-scf-web 无服务器 控制台转发云函数类型服务能力,服务转发能力。
tse-scf-event 无服务器 
tse-route 路由转发 建议使用控制台服务与路由的灰度策略能力,灰度发布。

原生插件指开源 Kong 网关自带的插件。

名称 类型 说明
acl 安全 通过使用任意 ACL 组名称将消费者列入白名单或将其列入黑名单来限制对 Service 或者 Route 的访问。此插件需要在服务或路由上启用身份验证插件。
acme 安全 允许 Kong 使用来自 Let’s Encrypt 或者其他 ACMEv2 服务的证书,并且支持自动续期。
aws-lambda 无服务器 从 Kong 调用 AWS Lambda 函数。它可以与其他请求插件结合使用以保护,管理或扩展功能。
azure-functions 无服务器 从 Kong 调用 Azure 上的无服务器函数。它可以与其他请求插件结合使用以保护,管理或扩展功能。
basic-auth 认证鉴权 使用用户名和密码保护将基础认证添加到 Service 或 Route 。
bot-detection 安全 保护服务或路由免受大多数常见机器人的攻击,并具有将自定义客户端列入白名单和列入黑名单的能力。
correlation-id 请求转换 使用通过 HTTP header 传输的唯一 ID 关联请求和响应。
cors 安全 通过启用此插件,轻松将跨源资源共享(CORS)添加到 Service, Route
datadog 分析和监控 记录 Service 的指标,并路由到本地 Datadog 代理。
file-log 日志 将请求和响应数据写入磁盘上的日志文件,不建议在生产中使用此插件。
grpc-gateway 其他 通过 HTTP REST 接口公开 gRPC 服务。它以 JSON 格式转换请求和响应,允许通过普通 HTTP 请求访问上游 gRPC 服务。
grpc-web 其他 通过 gRPC-web 协议访问 gRPC 服务。
hmac-auth 认证鉴权 将 HMAC 签名身份验证添加到服务或路由以确定传入请求的完整性。该插件将验证在 Proxy-Authorization 或 Authorization header 中发送的数字签名(按此顺序)。
http-log 日志 将请求和响应数据转发到 HTTP 服务器。
ip-restriction 安全 通过将 IP 地址列入白名单或列入黑名单来限制对 Service 或 Route 的访问,支持配置单个 IP,多个 IP 或 CIDR 范围,如10.10.10.0/24。
jwt 认证鉴权 验证包含 HS256 或 RS256 签名 JSON Web 令牌的请求。在请求中如果验证了令牌的签名,Kong 会将请求代理到你的上游服务,否则将丢弃该请求。
key-auth 认证鉴权 将密钥身份验证(有时也称为 API 密钥)添加到 Service 或 Route 。
ldap-auth 认证鉴权 使用用户名和密码保护将 LDAP 绑定身份验证添加到路由。 该插件将检查 Proxy-Authorization 和Authorization header 中的有效凭据(按此顺序)。
loggly 日志 通过 UDP 将请求和响应数据记录到 Loggly。
oauth2 认证鉴权 使用授权码模式(Authorization Code Grant),客户端凭证模式(Client Credentials),简化授权模式(Implicit Grant)或密码模式(Resource Owner Password Credentials Grant)授权添加 OAuth 2.0身份验证层。
post-function 无服务器 在访问阶段运行其他插件之后运行一段 Lua 代码。
pre-function 无服务器 在访问阶段运行其他插件之前运行一段 Lua 代码。
prometheus 分析和监控 以 Prometheus exposition 格式公开与 Kong 和代理上游服务相关的指标,Prometheus 服务器可以对这些指标进行抓取。
proxy-cache 流量控制 基于可配置的响应代码和内容类型以及请求方法来缓存响应实体。它可以缓存每个 Consumer 或每个 API。
request-size-limiting 流量控制 限制 body 大于特定大小(以兆字节为单位)的传入请求。
request-termination 流量控制 使用指定的状态代码和消息终止传入请求。
request-transformer 请求转换 在将请求转发给上游服务之前,转换客户端发送的请求。
response-ratelimiting 流量控制 根据上游服务返回的自定义响应头限制可以发出的请求数。
response-transformer 请求转换 在将响应返回给客户端之前,转换上游服务发送的响应。
session 认证鉴权 管理通过 Kong 代理的 API 的浏览器会话,它为会话数据存储、加密、续订、到期和浏览器 Cookie 提供配置和管理。
statsd 日志 为 Service Route 记录日志指标到一个 StatsD 服务器。
syslog 日志 将请求和响应数据转发到 syslog 服务器。
tcp-log 日志 将请求和响应数据转发到 TCP 服务器。
udp-log 日志 将请求和响应数据转发到 UDP 服务器。
zipkin 分析和监控 传播 Zipkin 分布式跟踪 span,并向 Zipkin 服务器报告 span。

云原生网关 Kong 提供自定义插件能力扩展,你可按照 Kong 规定的数据格式,开发自己的定制插件,以实现对数据流的修改和深层次的集成。详细操作请参见使用自定义插件。准备自定义插件代码根据 kong lua 插件开发规范:Plugin Development – File Structure – v2.7.x | Kong Docs,自定义插件在保留 Kong 原生插件开发规范的情况下,同时还支持了 so 库的能力,建议 so 库在 CentOS7 的环境下编译。插件目录结构可以参照如下:

二、进入插件管理入口

1. 登录 TSF 控制台。

2. 在左侧导航栏单击云原生网关,选择需要操作的网关实例,进入实例详情页后,选择 插件管理 页签,可以查看系统插件、原生插件和自定义插件信息。

三、部署自定义插件

1. 参考 插件介绍-自定义插件 准备好插件代码。

2. 在插件管理页面,选择自定义插件页签,单击上传插件。

3. 选择插件后,填写好插件版本号和版本描述信息,点击开始上传并完成上传后,单击确定,完成上传。

4. 上传完插件后,单击 使用此版本,插件会自动部署在所有的 Kong 节点中。

5. 当你不再需要该插件时,可以单击插件右上角的卸载,卸载该插件。

赞 (0)
上一篇 4天前
下一篇 4天前