当前位置:   article > 正文

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

docker安装kong

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

一、Kong安装

1. 创建 Docker 网络

2. 部署 Kong 依赖的 PostgreSQL

3. 安装 Kong Gateway

4. 验证 Kong Gateway 安装

二、Konga 管理UI安装

5. 部署 Konga 的 PostgreSQL

6. 初始化 Konga 数据库

7. 安装并运行 Konga UI

8. 访问 Konga 管理界面


一、Kong安装

1. 创建 Docker 网络

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

docker network create kong-net

2. 部署 Kong 依赖的 PostgreSQL

        接下来,启动一个用于存储 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

        现在,准备 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

        随后,启动 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 安装

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

•Admin API:

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

•GUI (Workspaces):Kong Manager

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

二、Konga 管理UI安装

5. 部署 Konga 的 PostgreSQL

        为 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 数据库

        使用以下命令初始化 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

        最后,启动 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 管理界面

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

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

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

        至此,成功安装并配置了 Kong API Gateway 及其配套的可视化管理界面 Konga。通过 Konga,可以便捷地管理 Kong 中的服务、路由、插件等配置,实现对 API 网关的高效管控。

        请注意,为确保生产环境的安全性,务必更改默认的登录凭证,并遵循最佳实践对数据库、Kong Gateway 和 Konga 的配置进行进一步定制。此外,定期备份数据库以防止数据丢失,并密切关注官方更新以及时升级到最新版本。

9.参考文档

        具体完整安装步骤参考:Installation Options - Kong Gateway | Kong Docs

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/816351
推荐阅读
相关标签
  

闽ICP备14008679号