一分钟搞定!在 CentOS 上用 Docker 部署 Kong Gateway 3.9

目录

  • 一级目录
    • 二级目录
      • 三级目录
    • 步骤 1:拉取 Kong Gateway 官方镜像
    • **步骤 2:创建 Kong 运行所需的网络**
    • **步骤 3:启动 PostgreSQL 数据库**
    • **步骤 4:初始化 Kong 数据库**
    • **步骤 5:启动 Kong**
      • **参数解析**
    • **步骤 6:验证 Kong 是否运行**

一级目录

二级目录

三级目录

在 Docker 中安装 单节点 Kong Gateway 的步骤如下:


步骤 1:拉取 Kong Gateway 官方镜像

docker pull kong/kong-gateway:3.9.0.0

步骤 2:创建 Kong 运行所需的网络

Kong 需要连接数据库(PostgreSQL),我们创建一个专用的 Docker 网络:

docker network create kong-net

步骤 3:启动 PostgreSQL 数据库

Kong 需要 PostgreSQL 来存储配置数据,使用 Docker 启动数据库:

 docker run -d --name kong-database \
  --network=kong-net \
  -p 5432:5432 \
  -e "POSTGRES_USER=kong" \
  -e "POSTGRES_DB=kong" \
  -e "POSTGRES_PASSWORD=kongpass" \
  postgres:13

这里:

  • POSTGRES_USER=kong:创建名为 kong 的数据库用户
  • POSTGRES_DB=kong:创建名为 kong 的数据库
  • POSTGRES_PASSWORD=kong:设置数据库密码为 kong
  • -p 5432:5432:映射数据库端口

步骤 4:初始化 Kong 数据库

在 PostgreSQL 启动后,我们需要运行数据库迁移:

docker run --rm --network=kong-net \
 -e "KONG_DATABASE=postgres" \
 -e "KONG_PG_HOST=kong-database" \
 -e "KONG_PG_PASSWORD=kongpass" \
kong/kong-gateway:3.9.0.0 kong migrations bootstrap

步骤 5:启动 Kong

docker run -d --name kong-gateway \
--network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_PG_USER=kong" \
-e "KONG_PG_PASSWORD=kongpass" \
-e "KONG_PROXY_ACCESS_LOG=/dev/stdout" \
-e "KONG_ADMIN_ACCESS_LOG=/dev/stdout" \
-e "KONG_PROXY_ERROR_LOG=/dev/stderr" \
-e "KONG_ADMIN_ERROR_LOG=/dev/stderr" \
-e "KONG_ADMIN_LISTEN=0.0.0.0:8001" \
-e "KONG_ADMIN_GUI_URL=http://0.0.0.0:8002" \
-v /data/kong/crt:/usr/local/kong/crt \
-p 0.0.0.0:8000:8000 \
-p 0.0.0.0:8443:8443 \
-p 0.0.0.0:8001:8001 \
-p 0.0.0.0:8002:8002 \
-p 0.0.0.0:8004:8004 \
-p 0.0.0.0:8005:8005 \
-p 0.0.0.0:8006:8006 \
-p 0.0.0.0:8444:8444 \
kong/kong-gateway:3.9.0.0

参数解析

  • -p 8000:8000:Kong 网关 HTTP 端口(用于代理 API 请求)
  • -p 8443:8443:Kong 网关 HTTPS 端口
  • -p 8001:8001:Kong 管理 API HTTP 端口
  • -p 8444:8444:Kong 管理 API HTTPS 端口
  • KONG_ADMIN_LISTEN=0.0.0.0:8001:允许外部访问 Kong 的管理 API

步骤 6:验证 Kong 是否运行

运行以下命令,查看 Kong 是否正常启动:

curl -i http://localhost:8001/

如果 Kong 正常运行,会返回类似:

{
    "version": "3.9.0.0",
    "node_id": "1e853017-3948-427f-9c71-41d6eda82874",
    "hostname": "8c5eae1bda40",
    "tagline": "Welcome to kong",
    "lua_version": "LuaJIT 2.1.0-20231117.1",
    "edition": "enterprise"
    .....
}

你可能感兴趣的:(centos,docker,kong)