我最新最全的文章都在 南瓜慢说 www.pkslow.com ,文章更新也只在官网,欢迎大家来喝茶~~
Kong不是一个简单的产品,本文讲的Kong主要指的是Kong API Gateway,即API网关。这次主要是简单体验一把,通过Docker安装,然后使用它的Route功能。
创建Docker的Network:
# 创建 $ docker network create kong-net # 检查 $ docker network list
Kong可以使用无数据库模式,为了窥探一下它的配置,我们还是使用数据库,启动如下:
$ docker run -itd --network=kong-net \ --name kong-database \ -e POSTGRES_DB=kong \ -e POSTGRES_USER=pkslow \ -e POSTGRES_PASSWORD=pkslow-kong \ -p 5432:5432 \ postgres:13
接着进行migrations操作,可以理解为是准备数据库:
$ docker run --rm \ --network=kong-net \ -e "KONG_DATABASE=postgres" \ -e "KONG_PG_HOST=kong-database" \ -e "KONG_PG_USER=pkslow" \ -e "KONG_PG_PASSWORD=pkslow-kong" \ kong:2.5.0-ubuntu kong migrations bootstrap
准备就绪后,就可以启动Kong了:
$ docker run -itd --name kong \ --network=kong-net \ -e "KONG_DATABASE=postgres" \ -e "KONG_PG_HOST=kong-database" \ -e "KONG_PG_USER=pkslow" \ -e "KONG_PG_PASSWORD=pkslow-kong" \ -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, 0.0.0.0:8444 ssl" \ -p 8000:8000 \ -p 8443:8443 \ -p 127.0.0.1:8001:8001 \ -p 127.0.0.1:8444:8444 \ kong:2.5.0-ubuntu
它的Admin端口为8001,通过下面命令验证:
$ curl -i http://localhost:8001/
先创建一个服务,可以理解为注册一个服务,服务名为pkslow,地址为( www.pkslow.com ):
$ curl -X POST --url http://localhost:8001/services/ --data 'name=pkslow' --data 'url=https://www.pkslow.com'
创建路由规则,路径为/pkslow,对应的服务为pkslow:
$ curl -X POST --url http://localhost:8001/services/pkslow/routes --data 'paths[]=/pkslow'
这样,当我们访问路径/pkslow时,其它访问的就是服务pkslow的内容。
访问测试,注意端口为8000了:
$ curl -i -X GET --url http://localhost:8000/pkslow
到此,我们就成功安装并使用了Kong Gateway的Route功能了。
Kong的强大在于它可以安装许多的插件来实现各种功能,如验证、限流、缓存等。它的强大,等你来挖掘。