云原生API网关提供了插件市场,内置认证鉴权、流量管控、安全防护等多种功能扩展插件,支持您上传自定义插件,可以对网关进行灵活、个性化的能力扩展。本文概述了插件的安装、启用与卸载流程,以及插件的版本管理、无损热更新与升降级功能。
插件介绍
云原生API网关插件市场中的插件,依据插件来源,主要分为以下三类:
官方插件:Higress官方开放到插件市场的插件。
社区插件:Higress社区贡献到插件市场的插件。
自定义插件:用户上传到插件市场的插件,仅供用户自身使用。
安装并启用插件
安装插件是指将云原生API网关插件市场中的插件安装到具体的网关实例的过程,任何插件要在网关实例上生效,必须先安装插件、然后配置规则,最后启用插件。云原生API网关提供了如下两种方式安装插件:
路由级插件规则:作用在路由上,当请求匹配到指定路由时,规则生效。
域名级插件规则:作用在域名上,特定域名的匹配优先级高于泛域名。
实例级插件规则:作业在网关全局,当路由和域名级规则都没有匹配到的时候则匹配该规则。
方式一:在插件市场安装
前往云原生API网关控制台的插件页面,在顶部菜单栏选择地域。
在插件市场页面的快捷导航栏处,选择插件类型或者搜索插件名称,单击插件卡片上的安装,在弹出的安装插件框中选择需要使用此插件的网关实例,单击确定。
在配置栏中,单击目标网关实例操作列下的规则配置,在规则配置页面选择生效范围。
当选择路由级插件规则和域名级插件规则时,单击添加规则,在添加路由级别规则和添加域名级别规则页面,打开启用状态(默认开启),选择生效目标并配置插件规则,单击确定。
当选择实例级插件规则时,打开启用状态(默认开启)并配置插件规则,单击保存。
方式二:在网关实例页面安装
前往云原生API网关控制台的实例页面,在顶部菜单栏选择地域。
进入目标实例页面,在左侧导航栏选择插件。
单击安装插件,在安装插件页面的快捷导航处,选择要安装的插件类型或者搜索插件名称,单击插件卡片,在弹出的安装插件框中,单击安装并配置。
在弹框规则配置页面,为所选插件配置规则并选择生效范围。单击确定。
(可选)您可通过网关实例页面,在左侧导航栏选择插件,单击插件列表操作列中的规则配置,为所选插件配置规则并选择生效范围。
当选择路由级插件规则和域名级插件规则时,单击添加规则,在添加路由级别规则和添加域名级别规则页面,打开启用状态(默认开启),选择生效目标并配置插件规则,单击确定。
当选择实例级插件规则时,打开启用状态(默认开启)并配置插件规则,单击保存。
卸载插件
使用背景
当您想要将插件彻底从网关上删除时,您可以选择卸载插件。云原生API网关提供了如下两种方式卸载插件:
卸载插件时,如果存在启用的插件规则,请先停用插件再卸载;如果插件未启用,卸载插件会将配置的插件规则一并删除。
方式一:在插件市场卸载
前往云原生API网关控制台的插件页面,在顶部菜单栏选择地域。
在插件页面的快捷导航栏处,选择插件类型或者搜索插件名称,单击要卸载的插件卡片。
单击配置栏,在要卸载此插件的网关实例操作栏中,单击卸载。
在弹出框中,点击确认按钮,页面提示卸载插件成功。
方式二:在网关实例页面卸载
前往云原生API网关控制台的实例页面,在顶部菜单栏选择地域。
进入目标实例页面,在左侧导航栏选择插件。
在插件列表中,单击所要卸载插件操作列中的卸载。
在弹出框中单击确认按钮,页面提示卸载插件成功。
为自定义插件添加版本
lua自定义插件比较特殊,不支持添加版本。
添加版本是指为自定义插件的每一次修改创建一个新版本记录,便于管理变更、回溯历史和控制发布。详细操作步骤如下:
前往云原生API网关控制台的插件页面,在顶部菜单栏选择地域。
在插件市场页面的快捷导航栏处,插件类型选择自定义或者搜索插件名称,单击插件卡片上的添加版本,在弹出的添加版本面板中配置版本信息:
版本号:输入插件的当前版本标识,输入的版本号需要符合semver版本规范,如
1.0.1
。版本描述:简要说明该版本的功能或变更内容,如
新增限流功能
。WASM文件:上传已编译好的
.wasm
文件,用于在网关中执行插件逻辑 。执行阶段:选择插件在请求处理流程中的执行时机,如
默认阶段
。执行优先级:输入一个数字表示插件执行顺序,数值越大优先级越高。
适配网关版本:输入该插件兼容的网关引擎版本号,确保插件正常运行。
说明允许安装该插件的最小网关版本。
插件版本变更
如需平滑升级需要确保变更版本与原版本规则配置兼容。
前往云原生API网关控制台的实例页面,在顶部菜单栏选择地域。
进入目标实例页面,在左侧导航栏选择插件。
在插件列表中,单击目标插件操作列的版本变更。
在版本变更对话框,选择您想要变更的版本,然后单击确定。
删除版本
前往云原生API网关控制台的插件页面,在顶部菜单栏选择地域。
在插件市场页面的快捷导航栏处,插件类型选择自定义或者搜索插件名称,鼠标移动至插件卡片上的
图标。
然后单击删除插件,选择您需要删除的版本,单击确定。