9

Docker安装Kong API Gateway并使用

 3 years ago
source link: https://www.pkslow.com/archives/kong-docker
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
Docker安装Kong API Gateway并使用技术之前,先读诗书:

泉眼无声惜细流,树阴照水爱晴柔。

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/

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功能了。

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


References:

Installation Docker

Docker Installation


欢迎关注微信公众号<南瓜慢说>,将持续为你更新...

推荐阅读:
如何制定切实可行的计划并好好执行
容器技术(Docker-Kubernetes)
SpringBoot-Cloud相关
Https专题


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK