我最新最全的文章都在 南瓜慢说 www.pkslow.com ,文章更新也只在官网,欢迎大家来喝茶~~
1 简介
Kong不是一个简单的产品,本文讲的Kong主要指的是Kong API Gateway,即API网关。这次主要是简单体验一把,通过Docker安装,然后使用它的Route功能。
2 安装
创建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/
3 测试Route功能
先创建一个服务,可以理解为注册一个服务,服务名为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功能了。
4 总结
Kong的强大在于它可以安装许多的插件来实现各种功能,如验证、限流、缓存等。它的强大,等你来挖掘。