0


docker安装Kong API Gateway(3.6.x)及管理UI

  1. 在微服务架构中,API 网关扮演着至关重要的角色,它负责请求路由、负载均衡、安全防护以及 API 管理等任务。本文指导使用 Docker 容器化技术从零开始安装和配置 Kong API Gateway 以及与其配套的可视化管理界面 Konga。按照以下步骤进行:

一、Kong安装

1. 创建 Docker 网络

  1. 为了方便容器间通信,我们首先创建一个名为 kong-net Docker 网络:
  1. docker network create kong-net

2. 部署 Kong 依赖的 PostgreSQL

  1. 接下来,启动一个用于存储 Kong 数据的 PostgreSQL 容器。这里使用版本 13,并指定相关环境变量以设置数据库用户名、密码、数据库名及端口映射
  1. docker run -d --name kong-database \
  2. --network=kong-net \
  3. -p 5432:5432 \
  4. -e "POSTGRES_USER=kong" \
  5. -e "POSTGRES_DB=kong" \
  6. -e "POSTGRES_PASSWORD=kongpass" \
  7. postgres:13

3. 安装 Kong Gateway

  1. 现在,准备 Kong 数据库并执行初始化迁移。运行以下命令以执行 Kong 数据库迁移脚本:
  1. docker run --rm --network=kong-net \
  2. -e "KONG_DATABASE=postgres" \
  3. -e "KONG_PG_HOST=kong-database" \
  4. -e "KONG_PG_PASSWORD=kongpass" \
  5. -e "KONG_PASSWORD=test" \
  6. kong/kong-gateway:3.6.1.3 kong migrations bootstrap
  1. 随后,启动 Kong Gateway 容器。配置环境变量以连接到 PostgreSQL 数据库,并暴露必要的端口以供外部访问:
  1. docker run -d --name kong-gateway \
  2. --network=kong-net \
  3. -e "KONG_DATABASE=postgres" \
  4. -e "KONG_PG_HOST=kong-database" \
  5. -e "KONG_PG_USER=kong" \
  6. -e "KONG_PG_PASSWORD=kongpass" \
  7. -e "KONG_PROXY_ACCESS_LOG=/dev/stdout" \
  8. -e "KONG_ADMIN_ACCESS_LOG=/dev/stdout" \
  9. -e "KONG_PROXY_ERROR_LOG=/dev/stderr" \
  10. -e "KONG_ADMIN_ERROR_LOG=/dev/stderr" \
  11. -e "KONG_ADMIN_LISTEN=0.0.0.0:8001" \
  12. -e "KONG_ADMIN_GUI_URL=http://localhost:8002" \
  13. -e KONG_LICENSE_DATA \
  14. -p 8000:8000 \
  15. -p 8443:8443 \
  16. -p 8001:8001 \
  17. -p 8444:8444 \
  18. -p 8002:8002 \
  19. -p 8445:8445 \
  20. -p 8003:8003 \
  21. -p 8004:8004 \
  22. kong/kong-gateway:3.6.1.3

4. 验证 Kong Gateway 安装

  1. 访问 Kong Admin API GUI 以验证安装是否成功:

•Admin API:

  1. 使用浏览器访问 http://{host}:8001 或使用 curl 命令测试 API 响应。

•GUI (Workspaces):Kong Manager

  1. 访问 http://{host}:8002/workspaces 来查看 Kong 的管理界面。

二、Konga 管理UI安装

5. 部署 Konga 的 PostgreSQL

  1. Konga 创建一个新的 Docker konga-postgresql 用于持久化数据,并启动一个使用 PostgreSQL 9.6 版本的数据库容器(注:选用 PostgreSQL 13 可能会导致兼容性问题,故使用 9.6 版本):
  1. docker volume create konga-postgresql
  2. docker run -d --name konga-database \
  3. --network=kong-net \
  4. -p 5433:5432 \
  5. -v konga-postgresql:/var/lib/postgresql/data \
  6. -e "POSTGRES_USER=konga" \
  7. -e "POSTGRES_DB=konga" \
  8. -e "POSTGRES_PASSWORD=konga" \
  9. postgres:9.6

6. 初始化 Konga 数据库

  1. 使用以下命令初始化 Konga PostgreSQL 数据库:-a表示 adapter -u表示 url数据库连接。
  1. docker run --rm --network=kong-net \
  2. pantsel/konga:latest \
  3. -c prepare \
  4. -a postgres \
  5. -u postgres://konga:konga@konga-database:5432/konga

7. 安装并运行 Konga UI

  1. 最后,启动 Konga UI 容器,配置环境变量以连接到 PostgreSQL 数据库,并映射端口以便访问:
  1. docker run -d -p 1337:1337 \
  2. --network=kong-net \
  3. -e "DB_ADAPTER=postgres" \
  4. -e "DB_URI=postgres://konga:konga@konga-database:5432/konga" \
  5. -e "NODE_ENV=production" \
  6. -e "DB_PASSWORD=konga" \
  7. --name konga \
  8. pantsel/konga

8. 访问 Konga 管理界面

  1. 使用默认的登录凭据访问 Konga 管理界面:

**•URL: **http://{host}:1337

  1. 建立一个连接,连接到 Kong 网关即可配置。

  1. 至此,成功安装并配置了 Kong API Gateway 及其配套的可视化管理界面 Konga。通过 Konga,可以便捷地管理 Kong 中的服务、路由、插件等配置,实现对 API 网关的高效管控。
  2. 请注意,为确保生产环境的安全性,务必更改默认的登录凭证,并遵循最佳实践对数据库、Kong Gateway Konga 的配置进行进一步定制。此外,定期备份数据库以防止数据丢失,并密切关注官方更新以及时升级到最新版本。

9.参考文档

  1. 具体完整安装步骤参考:Installation Options - Kong Gateway | Kong Docs
标签: docker kong gateway

本文转载自: https://blog.csdn.net/weixin_47301971/article/details/137949819
版权归原作者 小学考第一 所有, 如有侵权,请联系我们删除。

“docker安装Kong API Gateway(3.6.x)及管理UI”的评论:

还没有评论