首页 > 其他分享 >如何使用 Konga 可视化管理 Kong API 网关:完整指南与常见场景实例

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

时间:2024-12-26 11:30:11浏览次数:5  
标签:网关 Konga 管理 插件 Kong API Upstream

言简意赅的讲解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 (楠博万)

标签:网关,Konga,管理,插件,Kong,API,Upstream
From: https://blog.csdn.net/m0_70878103/article/details/144515863

相关文章

  • 摄像机实时接入分析平台视频分析网关:如何评估视频分析系统的性能?
    在当今这个数字化、智能化快速发展的时代,视频分析系统已成为安全监控、交通管理、商业智能等多个领域不可或缺的技术支撑。这些系统的性能评估对于确保其有效性和可靠性至关重要。以下是对视频分析系统性能评估的关键指标和方法的详细探讨,这些评估将帮助我们深入了解系统的综合性......
  • AI智能分析视频分析网关:视频分析技术中的行为识别和事件检测是如何实现的?
    在现代视频监控领域,行为识别和事件检测技术的应用越来越广泛,它们为安全监控、交通管理、公共安全等领域提供了强有力的技术支持。这些技术的核心在于能够从复杂的视频流中自动识别和分析出关键信息,从而实现对特定行为和事件的快速响应。以下是实现这些技术的关键方法和步骤,它们共......
  • Kong vs Nginx全面对比与实战示例:从API网关到配置管理的深入解析
    言简意赅的讲解Kong解决的痛点在微服务和API网关盛行的时代,对HTTP请求的路由、负载均衡、代理和服务发现的需求愈加明显。Nginx作为高性能HTTP服务器和反向代理服务器已久负盛名,而Kong则是基于Nginx(和OpenResty)构建的API网关解决方案,通过插件系统和AdminAPI为开发者提供了......
  • 算法网关视频分析网关小知识:监控系统频繁掉线,如何排查网络问题?
    在现代监控系统中,网络稳定性对于确保视频流的连续性和图像质量至关重要。然而,监控系统频繁掉线是一个常见的问题,它可能由多种因素引起,包括硬件故障、网络配置错误、供电不稳定等。为了有效排查和解决这些问题,以下是一些系统性的步骤,可以帮助我们定位并解决监控系统掉线的问题。1......
  • 车载网关性能 --- GW ECU报文(message)处理机制的技术解析
    我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:所谓鸡汤,要么蛊惑你认命,要么怂恿你拼命,但都是回避问题的根源,以现象替代逻辑,以情绪代替思考,把消极接受现实的懦弱,伪装成乐观面对不幸的豁达,往不幸上面喷“......
  • 车载网关性能 --- 车载网关通用buffer分配需求
    老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:所谓鸡汤,要么蛊惑你认命,要么怂恿你拼命,但都是回避问题的根源,以现象替代逻辑,以情绪代替思考,把消极接受现实的懦弱,伪装成乐观面对不幸的豁达,往不幸上面喷“香水”来掩盖问题。无人问津也好,技不如人也罢,你都要试......
  • 如何借助边缘智能网关实现厂区粉尘智能监测告警
    在诸如木制品加工、纺织品加工、塑料橡胶制品加工等多种工业生产场景中,粉尘问题的隐患和风险不可小觑。如果缺少对生产环境中粉尘的监测和管理,可能发生易燃易爆、环境污染和工人尘肺等生产事故。  针对工业场景中的粉尘状况监测、管理及预警,佰马提供基于边缘智能网关的粉尘......
  • 前端 HTTP 请求由 Nginx 反向代理和 API 网关到后端服务的流程
    在大型互联网项目中,前端发送请求通过Nginx等反向代理和网关组件传递到后端服务的过程是一个复杂且精细的系统流程。从微服务架构的角度,这个过程可以分为以下几个主要步骤,并可能涉及其他中间组件,如监控和日志组件等。一、前端发送请求用户交互:用户在前端界面(如网页或移动......
  • 视频智能分析AI智能分析网关小知识:如何评估和提升视频监控系统的图像质量?
    在数字化时代,视频监控系统已成为我们生活中不可或缺的一部分,无论是在公共安全、交通管理还是商业监控等领域,高质量的图像对于监控系统的效能至关重要。随着技术的发展,我们有了更多的工具和方法来评估和提升视频监控系统的图像质量。本文将探讨如何通过一系列综合措施,从硬件选择到......
  • 算法网关视频分析网关热知识:如何为监控摄像机选择最合适的电源适配器?
    在现代监控系统中,选择合适的电源适配器对于确保监控摄像机的稳定运行至关重要。本文将详细介绍在选择电源适配器时应考虑的关键因素,以及如何通过这些因素来确保监控系统的长期可靠性和高效性能。通过综合考虑电压匹配、功率需求、接口规格、供电方式、环境因素、稳定性和安全性以......