物联网网关神器 Kong ( 三 ) - 图形化管理界面 Konga

物联网网关神器 Kong ( 三 ) - 图形化管理界面 Konga

前言

上文我们我们讲了 Kong 的安装和利用 Kong 的 HTTP/REST API 来进行配置。但总是使用 CURL 命令去调用 HTTP 接口来进行配置却又太过复杂。

读到这,不知道你是否和我有一样的想法:

可以开发一个图形化管理界面,通过调用接口来实现简便操作的功能。

Konga 就帮我们来实现了这个功能,通过搭建 Konga 服务器可以管理多个 Kong ,并实现图形化界面配置。下文我们将会讲解如何安装 Konga,并通过 Konga 配置来讲解 Kong 的各个模块的功能与设计。

利用 Docker 安装 Konga

下面我们将利用 Docker 来安装 Konga, 如果你没有或者不知道什么是Docker,请点击传送门

获取 Konga 镜像

docker pull pantsel/konga

物联网网关神器 Kong ( 三 ) - 图形化管理界面 Konga

准备数据库

由于 Konga 需要数据库支持,在这里我们使用 Postgres 来进行配置其数据库。

docker run -d \
  --name kong-db \
  --network=kong-net \   
  -p 5432:5432 \
  -e "POSTGRES_USER=kong" \
  -e "POSTGRES_DB=kong" \
  -e "POSTGRES_PASSWORD=kong" \
  postgres:9.6
  • network=kong-net 该网络在创建 Kong 的时候创建的,使得 Konga 和 Kong 在同一网络内。

物联网网关神器 Kong ( 三 ) - 图形化管理界面 Konga

准备初始化数据库

在运行 Konga 前,我们需要把 Konga 运行所需要的一些表结构创建出来。


docker run --rm pantsel/konga:latest -c prepare -a postgres -u postgresql://kong:kong@< your ip >:5432/konga_db

物联网网关神器 Kong ( 三 ) - 图形化管理界面 Konga

排坑指南:

这里有指定Postgres 的版本是 9.6,由于版本兼容问题,如果你使用最新版本的 Postgres 在初始化数据库的时候会报错。
物联网网关神器 Kong ( 三 ) - 图形化管理界面 Konga

运行 Konga

经过繁杂的准备工作,我们终于要运行 Konga 了。

docker run -d -p 1337:1337 \
 --network {{kong-network}} \ // 可选的
 --name konga \
 -e "NODE_ENV=production" \ // or "development" | defaults to 'development'
 -e "TOKEN_SECRET={{somerandomstring}}" \
 pantsel/konga

物联网网关神器 Kong ( 三 ) - 图形化管理界面 Konga

  • network : 最好和 Kong 在同一网络
  • TOKEN_SECRET : 一串随机字符串

登陆 Web 页面

经过复杂繁琐的过程,我们已经将 Konga 安装完毕。 接下来我们访问 1337 端口来看一下 Konga 的图形化界面。

创建管理员账户

当我们打开 Konga 的 Web 页面,迎面而来的就是让你创建一个管理员帐号。

物联网网关神器 Kong ( 三 ) - 图形化管理界面 Konga

  • Email : 日后如果有需要,会将报警内容发送至该邮箱。

登陆

当注册成功后,会自动跳转登陆界面。你需要输入刚才注册的用户名和密码。

物联网网关神器 Kong ( 三 ) - 图形化管理界面 Konga

主界面

登陆成功后我们将看到其主界面的欢迎页面。

物联网网关神器 Kong ( 三 ) - 图形化管理界面 Konga

左侧边栏简单介绍讲解:

  • DASHBOARD : Konga 的仪表盘,当我们接下来绑定了 Kong 以后将会展示。
  • USERS : 用户管理
  • CONNECTIONS : Kong 的连接管理,也就是说一个 Konga 可以管理多个 Kong API Gateway.
  • SNAPSHOTS : 现存的节点的快照
  • SETTING 设置

绑定 Kong

由图可见,我们可选择四种方式来连接我们的Kong API Gateway。由于直接暴露管理端口存在风险,所以我们可以采取多种措施来保护管理端口,进行安全连接。

  • 默认 :直接通过调用Kong 暴露出的 admin 管理接口来进行连接。( 不推荐 )
  • Key AUTH : 使用 Kong 的 Key Authentication 插件来进行验权。
  • JWT :使用 Kong 的 JWT 插件来进行验权。
  • BASIC AUTH :使用 Kong 的 BASIC AUTH 插件来进行验权。

默认连接

我们首先使用默认连接的方式来连接我们的 Kong 服务。

首先输入名称和管理端口的URL。

物联网网关神器 Kong ( 三 ) - 图形化管理界面 Konga

连接成功后会自动跳转至 Dashboard 界面。

Dashboard 界面讲解

物联网网关神器 Kong ( 三 ) - 图形化管理界面 Konga

仪表盘 ( Dashboard )就像汽车的显示台一样,展示出一些对现有数据和信息的汇总分析。可以帮助快速了解服务情况。

  • CONNECTIONS : 该模块展示了现在所有连接的数量统计,例如总共连接数、现在正在连接的连接数等。
  • NODE INFO : 该模块展示了 Kong 服务的基本信息。 如 Kong 版本、Lua 脚本版本、监听端口等。
  • TIMERS : 该模块展示了现在各计时器的数量和所处的状态。
  • DATASTORE INFO :该模块展示了 Konga 所连接的数据库基本信息。如数据库名称、用户名等。
  • PLUGINS : 该模块展示了 Kong 服务所使用的插件。

总结

本篇文章对 Kong 的GUI 图形化界面 Konga 进行了简要的讲解,并讲解了利用 Docker 进行安装 Konga。 安装成功后使用默认连接连接到 Kong。

但是这种默认连接是不安全的。我们下篇文章将会介绍如何在生产环境中连接 Konga,并介绍几种插件的使用。

上一篇:微服务网关kong


下一篇:说实话,去一家小公司从 0 到 1 搭建后端架构,真难~