api网关kong安装

官网有安装教程,我用的docker安装的,
https://docs.konghq.com/install/docker/?_ga=2.9461877.1365165295.1538117456-504819370.1538117456
kong文档
https://www.pocketdigi.com/book/kong/
oauth
https://blog.catscarlet.com/201612202671.html

我的安装命令:

docker network create kong-net

docker run -d --name kong-database \
--network=kong-net \
-p 9042:9042 \
cassandra:3

docker run --rm \
--network=kong-net \
-e "KONG_DATABASE=cassandra" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
kong:latest kong migrations bootstrap

docker run -d --name kong \
--network=kong-net \
-e "KONG_DATABASE=cassandra" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
-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 8001:8001 \
-p 8444:8444 \
kong:latest

官网安装写的挺清楚的,部分英语不好的可能有稍微踩几个小坑

  1. 选择数据库和run容器的时候需要保持一致,就是KONG_DATABASE这个选项,你用cassandra 或者postgres就需要修改成相应的,笔者第一次也是无脑拷贝,结果用的cassandra,文档命令上用的postgres。。
  2. 因为是docker安装,这里踩了个坑,笔者的虚拟机分配的空间不够,安装的时候报错终断了,等挂载个盘,把docker迁移到新盘后,后面安装就报错,需要先停掉docker,然后执行以下命令:
thin_check /var/lib/docker/devicemapper/devicemapper/metadata
thin_check --clear-needs-check-flag /var/lib/docker/devicemapper/devicemapper/metadata

在接着run就ok了。分分钟跑起来。

来试试跑起来没有

curl http://localhost:8001
  1. 因为是docker安装的,所以如果修改一些配置需要进入docker里面修改
docker exec -it kong sh
cp /etc/kong/kong.conf.default /etc/kong/kong.conf

然后修改相应项目,再保存,重启docker。

默认端口

8000:此端口是Kong用来监听来自客户端的HTTP请求的,并将此请求转发到您的上游服务。这也是本教程中最主要用到的端口。
8443:此端口是Kong监听HTTP的请求的端口。该端口具有与8000端口类似的行为,但是它只监听HTTPS的请求,并不会产生转发行为。可以通过配置文件来禁用此端口。
8001:用于管理员对KONG进行配置的端口。
8444:用于管理员监听HTTPS请求的端口。

启动ui管理界面

如果你觉得敲命令行更高端,可以不用ui界面

2.0以下版本:

docker run --rm -p 8002:8080 pgbi/kong-dashboard start --kong-url http://192.168.0.170:8001

kong-url 修改成你自己kong部署的ip和端口
然后访问 http://127.0.0.1:8002 即可

2.0以上版本,由于kong-dashboard没有新版本的支持,可用pantsel/konga替换

docker pull pantsel/konga
docker run -p 1337:1337 \
             --network {{kong-network}} \ // optional
             --name konga \
             -e "NODE_ENV=production" \ // or "development" | defaults to 'development'
             -e "TOKEN_SECRET={{somerandomstring}}" \
             pantsel/konga

然后访问 http://127.0.0.1:1337 即可

标签: 无

发表评论: