Docker安装Kong API Gateway并使用

我最新最全的文章都在 南瓜慢说 www.pkslow.com ,文章更新也只在官网,欢迎大家来喝茶~~

1 简介

Kong不是一个简单的产品,本文讲的Kong主要指的是Kong API Gateway,即API网关。这次主要是简单体验一把,通过Docker安装,然后使用它的Route功能。

Docker安装Kong API Gateway并使用

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

Docker安装Kong API Gateway并使用

准备就绪后,就可以启动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

Docker安装Kong API Gateway并使用

到此,我们就成功安装并使用了Kong Gateway的Route功能了。

4 总结

Kong的强大在于它可以安装许多的插件来实现各种功能,如验证、限流、缓存等。它的强大,等你来挖掘。

Docker安装Kong API Gateway并使用

上一篇:怎么拍照好看?教你拍出清新女神范


下一篇:win 常用修复蓝屏,系统比对最后更新20210804