如何使用 Konga 可视化管理 Kong API 网关:完整指南与常见场景实例

言简意赅的讲解Konga解决的痛点

Kong 是一个流行的 API 网关,广泛应用于微服务架构中,为应用提供负载均衡、API 管理、身份验证、流量控制等功能。虽然 Kong 强大且功能丰富,但其管理界面原本基于命令行和配置文件,可能让部分开发者或运维人员感到不便。为了简化管理操作,Konga 作为一个开源的、基于 Web 的可视化管理平台应运而生。它让用户能够通过图形化界面轻松管理 Kong,实现 API 的可视化监控、配置和管理。

本文将详细介绍 Konga,并展示其常见使用场景,帮助大家快速上手。注意konga单独使用没有意义需要与之前讲解的kong配合服用

1. 什么是 Konga?

Konga 是一个开源的 Web UI,用于与 Kong 管理 API 网关。它为 Kong 提供了一个直观的界面,允许用户在无需手动编辑配置文件的情况下,通过简单的点击和输入来配置和监控 API 网关。Konga 是用 Node.js 和 Vue.js 构建的,支持自托管和 Docker 部署,安装和使用都非常简单。

Konga 主要有以下功能:

  • API 管理:可视化管理 API 路由、服务、消费者等配置。
  • 插件管理:支持插件的启用、配置和禁用。
  • 负载均衡管理:查看和管理服务的负载均衡配置。
  • 监控与日志:实时查看 API 的访问统计和日志。

2. 如何安装 Konga

2.1 使用 Docker 部署

Docker 是最简便的部署方式。首先,确保你已经安装了 Docker。然后,可以通过以下命令来启动 Konga:

docker run -d \
  --name konga \
  -p 1337:1337 \
  pantsel/konga
  • -p 1337:1337:将 Konga 的 Web 界面暴露在本地的 1337 端口上。

完成后,可以通过浏览器访问 http://localhost:1337 来打开 Konga。

2.2 使用 Konga 安装 Docker 镜像

如果你喜欢使用 Docker Compose,可以参考以下 docker-compose.yml 配置文件:

version: '3'

services:
  konga:
    image: pantsel/konga
    container_name: konga
    ports:
      - "1337:1337"
    depends_on:
      - kong
    restart: always

在这个配置中,KONGA_API_URL 是指向 Kong Admin API 的地址。如果你的 Kong 实例和 Konga 在同一网络下,可以使用容器名称(比如 kong)作为 Kong 地址。

Kong,Konga部署

3. 连接 Konga 和 Kong

启动 Konga 后,通过浏览器访问 Konga 的 Web UI(通常是 http://localhost:1337)。首次访问时,你需要配置 Konga 连接到你的 Kong 实例。

在 Konga 的登录页面上,你需要填写 Kong Admin API 的 URL,以及其他基本配置信息:

  • Kong Admin URL:填写 Kong 管理接口的 URL 地址,例如 http://localhost:8001
  • Konga Username/Password:Konga 会要求你设置管理员账号,用来登录管理界面。

完成配置后,点击 “Connect” 即可成功连接到 Kong。
Konga连接Kong

4. Konga 常用功能场景

4.0 在 Konga 中管理 Upstreams

Konga 提供了可视化的界面来管理 Kong 的 Upstreams,用户可以通过 Konga UI 轻松创建、编辑和删除 Upstreams,以及管理其中的 Targets。

4.0.1 创建 Upstream

在 Konga 中创建一个 Upstream 的步骤如下:

  1. 登录到 Konga 管理界面。

  2. 在左侧菜单中选择 “Upstreams”,然后点击右上角的 “Add New Upstream” 按钮。

  3. 填写 Upstream 的基本信息:

    • Name:为 Upstream 指定一个名称。
    • Hash On:选择请求分发的策略,可以选择 ipnone 等。
    • Load Balancing Algorithm:选择负载均衡算法(如 round-robinleast-connections 等)。
  4. 点击 “Save” 保存 Upstream 配置。

此时,一个新的 Upstream 就被创建了,它的作用是承载并管理与多个目标(Targets)相关的后端服务。

4.0.2 添加 Targets 到 Upstream

创建好 Upstream 后,接下来需要将后端服务(Targets)添加到该 Upstream 中。

  1. 在 Konga 的 Upstreams 页面中,选择刚刚创建的 Upstream。

  2. 在 Upstream 的详情页面中,找到 Targets 部分,点击 “Add New Target” 按钮。

  3. 填写目标服务的信息:

    • Target:填写后端服务的 IP 地址或主机名。
    • Port:填写目标服务的端口号。
    • Weight:设置该 target 的权重,权重高的 target 将接收更多的请求。
    • Tags:可选的标签,用于标识目标。
    • Weight:配置权重,权重越高的 target 获取到的流量就越多。
  4. 点击 “Save” 保存 Target 配置。

添加完成后,Kong 就会将流量按照负载均衡策略分发到这些 Targets 上。

4.0.3 编辑和删除 Upstreams 和 Targets

在 Konga 中,你还可以随时编辑或删除 Upstream 和 Targets 配置。

  1. 编辑 Upstream:在 Upstreams 页面中,点击你想要编辑的 Upstream,修改它的名称、负载均衡策略或其他配置,保存更改。
  2. 删除 Upstream:在 Upstreams 页面中,选择要删除的 Upstream,点击 “Delete” 按钮删除该 Upstream。删除时,系统会提示你是否确认删除。
  3. 编辑 Target:在目标服务列表中,点击某个 Target 来编辑它的 IP 地址、端口或权重等配置。
  4. 删除 Target:在 Target 列表中,点击 “Delete” 按钮删除不再需要的 target。
4.0.4 Upstream 的高可用性与负载均衡策略

Kong 提供了多种负载均衡策略供用户选择,具体包括:

  • Round-robin:轮询负载均衡,流量平均分配给每个 target。
  • Least-connections:将请求转发给连接数最少的 target,适用于服务性能差异较大的场景。
  • Random:随机选择一个 target 来处理请求。

在 Konga 中,选择负载均衡策略时,你可以根据具体场景来选择最合适的策略。例如,如果你的后端服务实例的性能差异很大,least-connections 可能是更优的选择。
Konga 创建upsteams
Konga创建upsteams

4.1 创建和管理 API 服务

在 Konga 中,你可以方便地创建和管理 Kong 服务。具体步骤如下:

  1. 登录到 Konga Web UI。
  2. 在左侧菜单中选择 “Services”
  3. 点击 “Add New Service” 按钮,填写服务信息。
    • Service Name:填写服务的名称。
    • URL:填写服务的后端 URL。
    • Protocol:选择协议(如 HTTP、HTTPS)。
  4. 点击 “Save” 保存服务。

此时,Konga 会将新服务添加到 Kong 中,后续你可以通过 Konga UI 轻松查看和编辑服务配置。
Konga service配置
Konga service 配置

4.2 创建和管理 Routes

Route 是将外部请求路由到服务的规则。可以通过 Konga UI 创建和管理 Routes。

  1. 在 Konga 的侧边栏中选择 “Routes”
  2. 点击 “Add New Route”
  3. 填写 Route 的信息,包括:
    • Name:为路由指定名称。
    • Service:选择已创建的服务。
    • Paths:定义请求的路径。
    • Methods:选择允许的 HTTP 方法(如 GET、POST)。
  4. 点击 “Save” 完成创建。

完成后,Konga 会自动将路由配置添加到 Kong 中,所有通过该路由访问的请求都会被转发到对应的服务。
Konga创建routes
Konga 创建routes
Konga 创建routes

注意 在我的用例中 localhost:{KongPort}/gitea/home/ 就可以访问到gitea服务。
如果你们得场景在转发之后还要加URI的话那就需要在Service.path中添加。文章始终不能覆盖全部场景,还要靠你们自己钻研咯。

4.3 管理消费者和身份验证

Kong 提供了强大的消费者(Consumer)管理功能。通过 Konga,可以轻松为消费者启用身份验证、限制访问等功能。

  1. 在左侧菜单中选择 “Consumers”
  2. 点击 “Add New Consumer” 创建新的消费者。
    • Username:填写消费者的用户名。
    • Custom ID:可选的自定义 ID。
  3. 创建完消费者后,你可以为其配置插件,例如:
    • Key Authentication:启用 API 密钥认证。
    • Basic Authentication:启用基本认证。
      Konga 创建 Consumers

Konga 创建 consumers

4.4 管理插件

Kong 提供了丰富的插件支持,如身份验证、流量限制、CORS 等,Konga 使得插件管理变得更简单。

  1. 在侧边栏中选择 “Plugins”
  2. 选择要启用插件的服务或路由。
  3. 点击 “Add Plugin”,选择要启用的插件类型。
  4. 配置插件的参数,并保存。

例如,若要启用 Rate Limiting 插件来限制访问频率:

  • 选择 Rate Limiting 插件。
  • 配置插件的参数,例如每分钟请求次数限制。
  • 保存配置后,插件会生效。
    Konga 创建 Routes

4.5 查看 API 日志和监控

Konga 还可以集成 Kong 的监控功能,实时查看 API 的访问情况和日志。

  1. 在 Konga 中选择 “Metrics”“Logs”
  2. 查看流量统计、错误日志等信息。
  3. 如果启用了统计插件(如 Prometheus),你还可以通过 Konga 获取更加详细的 API 性能数据。
    Konga监控

5. Konga 使用中的一些注意事项

  • 权限控制:Konga 支持权限管理,你可以为不同的用户设置不同的角色,限制其访问的范围。例如,开发者可以只访问服务和路由配置,运维人员可以访问插件和监控功能。
  • 备份和恢复:Konga 支持导出和导入配置,方便备份和恢复。你可以在 “Backup” 菜单下进行操作。
    Konga备份

6. 总结

Konga 是一个非常实用的工具,能够帮助开发者和运维人员简化 Kong 的管理工作。通过其图形化界面,用户能够快速配置、监控和管理 API 网关。无论是创建服务、配置路由,还是管理插件、查看日志,Konga 都提供了一个直观、易用的方式。

如果你还在使用 Kong 的 CLI 或配置文件进行管理,试试 Konga,它会让你在日常管理中事半功倍。


通过上述内容,你就已经基本理解了这个方法,基础用法我也都有展示。如果你能融会贯通,我相信你会很强

Best
Wenhao (楠博万)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值