许可证管理
API7 网关需要有效的许可证才能运行。许可证用于控制可用功能(例如 API 网关和开发者门户),并定义部署中数据面可使用的最大 CPU 核心数,分为生产和非生产两份额度。
许可证属性
每个许可证包含以下属性:
| 属性 | 描述 |
|---|---|
| 序列号 | 许可证的唯一标识符。 |
| 客户 | 获得许可的组织名称。 |
| 生效日期 | 许可证开始生效的日期。 |
| 到期日期 | 许可证到期的日期。 |
| 最大 DP 核心数 | 生产网关组下数据面实例可使用的最大 CPU 核心总数。 |
| 最大非生产 DP 核心数 | 非生产网关组下数据面实例可使用的最大 CPU 核心总数。API7 企业版从 3.10.5 版本开始支持。 |
| 功能列表 | 获得许可的功能,例如 API7 Gateway 和 API7 Portal。 |
| 部署 ID | 与许可证绑定的特定部署 ID。 |
| 免费试用 | 是否为试用许可证。 |
上传许可证
使用控制台
- 登录 API7 控制台。
- 如果没有激活的许可证,系统会 提示你在登录时上传许可证。
- 上传许可证文件,然后点击 Activate(激活)。
使用 Admin API
调用 Admin API 上传许可证:
如果 API7 网关不在本地运行,请将 localhost 替换为控制台或 Admin API 的主机名。
curl -k "https://localhost:7443/api/license" -X PUT \
-H "Authorization: Bearer $API7_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"license": "<LICENSE_CONTENT>"
}'
添加 ?dry-run=all 查询参数,可以仅验证许可证而不应用:
curl -k "https://localhost:7443/api/license?dry-run=all" -X PUT \
-H "Authorization: Bearer $API7_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"license": "<LICENSE_CONTENT>"
}'
使用许可证文件路径
对于 Kubernetes 等自动化部署场景,可以配置控制面从文件加载许可证。系统每 5 秒轮询一次该文件,以检测内容变更。
在控制面配置中指定许可证文件路径:
dashboard_configuration:
license:
file_path: "/path/to/license.txt"
此方法适用于 GitOps 工作流:将许可证存储为 Kubernetes Secret,并挂载到控制面 Pod 中。
检索许可证详细信息
获取当前许可证详细信息,包括运行时状态:
curl -k "https://localhost:7443/api/license" \
-H "Authorization: Bearer $API7_TOKEN"
响应中包含许可证属性及其当前运行时状态。
核心数额度
许可证包含两份相互独立的核心数额度:
| 额度 | 适用范围 | 许可证属性 |
|---|---|---|
| 生产 | 环境为 production 的网关组下的数据面实例 | max_dp_cores |
| 非生产 | 环境为 non_production 的网关组下的数据面实例 | max_non_production_dp_cores |
每个网关组只属于其中一份额度,因此预发布或测试网关组不会消耗生产核心数。设置网关组环境的方式请参考网关组。3.10.5 之前创建的网关组按生产处理。
3.10.5 之前签发的许可证不包含非生产额度,读取到的值为 0。只要所有网关组都是生产环境,这类许可证的行为与之前完全一致;如果需要运行非生产网关组,请申请包含非生产核心数的许可证。
如何跟踪核心使用情况
控制面每天午夜分别统计前一天两份额度各自的峰值核心数,并与许可证中对应的值进行比较。
许可证运行时状态
每份额度根据自身的核心使用情况,独立在三种运行时状态之间转换:
| 状态 | 描述 | 影响 |
|---|---|---|
| 正常 | 核心使用量未超过许可证限制。 | 所有功能均可用。 |
| DP 核心数超限 | 核心使用量超过限制,开始计算 7 天宽限期。 | 所有功能仍可用,但会显示警告。 |
| 受限 | 宽限期结束后,核心数仍超过限制。 | 写操作被阻止,读操作不受影响。 |
每份额度只根据自身的用量进入或退出上述状态。当其中一份进入受限状态时:
- 阻止:在消耗该额度的网关组中创建或更新服务、路由、消费者、插件、SSL 证书及其他配置资源。不属于任何网关组的操作(例如管理用户、角色和门户)由生产额度的运 行时状态决定,因此只有生产额度受限时才会被阻止。
- 允许:另一份额度下网关组的全部操作,以及读取配置、查看控制台和上传新许可证。
要解除受限状态,请减少受影响网关组的数据面核心数(例如减少网关副本数),或上传该额度更高的许可证。
许可证到期
当许可证过期时:
- 读取操作(查看配置、控制台)继续工作。
- 写入操作(创建或更新资源)被阻止。
- 你仍然可以上传新许可证。
请监控许可证到期日期并提前安排续订。如需许可证,请联系 API7 销售团队或申请试用许可证。
免费试用许可证
免费试用许可证可用于评估目的:
- 最长持续时间:90 天。
- 试用期从部署日期开始。
要申请试用许可证,请访问 api7.ai/try。