Kong Gateway是一个轻量、快速和灵活的云原生API网关。Kong Gateway位于您的服务应用程序前面,动态地控制、分析和路由请求和响应。Kong Gateway通过使用灵活、低代码、基于插件的方法来实现您的API流量策略。
此教程将帮助您通过设置本地安装并进行一些常见的API管理任务来入门Kong Gateway。
本页面将引导您运行Kong Gateway并使用Admin API进行验证。完成后,可以执行以下任务来完成教程:
- 了解和配置服务(Services)和路由(Routes)
- 配置速率限制以保护上游服务(Services)
- 使用代理缓存提高系统性能
- 使用负载均衡实现水平服务扩展
- 使用密钥认证保护服务
先决条件
- 使用Docker在本地运行Kong Gateway和支持的数据库
- curl用于发送请求到Kong Gateway。大多数系统上都预先安装了curl。
- jq用于在命令行上处理JSON响应。虽然很有用,但在完成本教程的任务时不是必需的。如果您希望在没有jq的情况下继续,请修改命令以移除jq处理。
获取Kong
为了完成本教程,我们提供了一个快速启动脚本,可快速运行Kong Gateway及其支持的数据库。该脚本使用Docker来运行Kong Gateway,并使用PostgreSQL数据库作为后端数据库。
- 使用快速启动脚本运行Kong Gateway:
Lua
curl -Ls https://get.konghq.com/quickstart | bash
注意:快速启动脚本以免费模式运行Kong Gateway企业版。如果您希望使用许可证运行Kong,请通过环境变量将许可证传递给脚本。有关此和其他高级用法的说明,请参阅代码存储库的文档。
该脚本会运行Kong Gateway和支持的PostgreSQL数据库的Docker容器。脚本还创建了一个Docker网络,以供这些容器之间进行通信。最后,数据库会根据适当的迁移步骤进行初始化,一旦Kong Gateway准备就绪,您将看到以下消息:
Lua
Kong Gateway Ready
- 验证Kong Gateway是否正在运行:
Kong Gateway在默认端口8001上提供了一个管理API(Admin API)。管理API可用于查询和控制Kong Gateway的状态。下面的命令将查询管理API,仅获取头信息:
Lua
curl --head localhost:8001
如果Kong Gateway正常运行,它将以类似以下的方式响应200 HTTP状态码:
Lua
HTTP/1.1 200 OK
Date: Mon, 22 Aug 2022 19:25:49 GMT
Content-Type: application/json; charset=utf-8
Connection: keep-alive
Access-Control-Allow-Origin: *
Content-Length: 11063
X-Kong-Admin-Latency: 6
Server: kong/3.5.0
- 评估Kong Gateway的配置:
Admin API的根路由提供了关于正在运行的Kong Gateway的重要信息,包括网络、安全和插件信息。完整的配置在返回的JSON文档的`.configuration`键中提供。
Lua
curl -s localhost:8001 | jq '.configuration'
您应该会收到一个包含Kong Gateway配置信息的大型JSON响应。
- 访问Kong Manager
在本指南的其余部分中,我们将演示如何使用Admin API配置Kong Gateway,但您还可以使用Kong Manager来管理您的服务(Services)、路由(Routes)、插件(Plugins)等等。要访问Kong Manager,请打开以下URL:http://localhost:8002
注意:如果您安装的是Kong Gateway (OSS),您将使用Kong Manager开源版。其他所有Kong Gateway安装使用Kong Manager企业版。
本教程的每个步骤都需要一个正在运行的Kong Gateway,所以请保持一切正常运行,继续进行下一步。