KONG网关和KONGA界面的入门使用,快速上手

有用的话点个关注,留言,谢谢啦~~

我这里是VMware上运行的一台虚拟机centos7,ip地址为静态192.168.24.128,装了docker环境,下面演示一下如何使用KONGGW。
KONG你可以理解为是一个加强版的Nginx,在Nginx上多了很多功能,这些功能是由lua语言开发的插件,具体插件可以在kong的相关目录下看到,我会在下文的靠后位置做一个讲解。

1.Create a Docker network

$ docker network create kong-net
33892a744b782e5f7d86032372ff1e32c51d0756e196b0563e16515d6b379218

$ docker network ls
NETWORK ID     NAME       DRIVER    SCOPE
33892a744b78   kong-net   bridge    local

$ ifconfig
br-33892a744b78: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.18.0.1  netmask 255.255.0.0  broadcast 172.18.255.255
        ether 02:42:93:e6:d7:5d  txqueuelen 0  (Ethernet)
        RX packets 6  bytes 416 (416.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6  bytes 416 (416.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        
$ brctl show
bridge name bridge id       STP enabled interfaces
br-33892a744b78     8000.024293e6d75d   no

2.Start your database (PostgreSQL)

$ docker run -d --name kong-database \
    --network=kong-net \
    -p 5432:5432 \
    -e "POSTGRES_USER=kong" \
    -e "POSTGRES_DB=kong" \
    -e "POSTGRES_PASSWORD=kong" \
    postgres:9.6

3.Prepare your database (Migrations)

$ docker run --rm \
     --network=kong-net \
     -e "KONG_DATABASE=postgres" \
     -e "KONG_PG_HOST=kong-database" \
     -e "KONG_PG_USER=kong" \
     -e "KONG_PG_PASSWORD=kong" \
     -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
     kong:1.5.1-centos kong migrations bootstrap

4.Start Kong
这里的 -p 8080:8080我就这么写了,有些人喜欢直接映射到80端口,这个随意哈,个人喜好

$ docker run -d --name kong \
     --network=kong-net \
     -e "KONG_DATABASE=postgres" \
     -e "KONG_PG_HOST=kong-database" \
     -e "KONG_PG_USER=kong" \
     -e "KONG_PG_PASSWORD=kong" \
     -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 127.0.0.1:8001:8001 \
     -p 127.0.0.1:8444:8444 \
     kong:1.5.1-centos



--------------------这里是各个端口号的作用--------------
8000:HTTP Proxy API
8443:HTTPS Proxy API
8001:HTTP Admin API
8444:HTTPS Admin API

5.Use Kong

$ curl -i http://localhost:8001/
---------------看看是不是有下面的信息出来,有的话就成功了-----------
HTTP/1.1 200 OK
Date: Tue, 15 Dec 2020 01:05:20 GMT
Content-Type: application/json; charset=utf-8
Connection: keep-alive
Access-Control-Allow-Origin: *
Server: kong/1.5.1
Content-Length: 6971
X-Kong-Admin-Latency: 147

6.安装 KongA

$ docker run -p 1337:1337 \
    --network=kong-net \
    -e "TOKEN_SECRET=konga" \
    -e "DB_ADAPTER=postgres" \
    -e "DB_HOST=kong-database" \
    -e "DB_PORT=5432" \
    -e "DB_USER=kong" \
    -e "DB_PASSWORD=kong" \
    -e "DB_DATABASE=konga_database" \
    -e "NODE_ENV=development" \
    --name konga \
    pantsel/konga:latest

到这里就都装完了,下面开始使用

访问:http://{your server’s public ip}:1337
就是你那个虚拟的的ip地址,我这里就是
http://192.168.24.128:1337
进去第一件事就是注册,登录,这个过程我就不放了哈,很简单的。

初次进来先点击1,填上2的两个信息就可以了,然后重新切回1,会看到图二
!!! :这里填写http://kong:8001可能会报错,请把kong替换成你的kong所在旧机器地址,例如: http://192.168.24.128:8001

KONG网关和KONGA界面的入门使用,快速上手_第1张图片
KONG网关和KONGA界面的入门使用,快速上手_第2张图片
这样就算KONGA连接上KONG网关了。

下面演示一下这个GW是如何转发的

KONG网关和KONGA界面的入门使用,快速上手_第3张图片
1.上面的1、2、3是我们等会要操作的顺序
我这里是这么操作的:我有一个elasticsearch服务,是在服务器9200端口的,图上可以看到的吧。那我现在要做的就是去访问KONG的8000端口,然后让KONG给我们转发到这个9200端口上来,实际上就是Nginx的功能。
这里你可以docker拉一个tomcat镜像启动起来,tomcat是8080端口,一样的,这个你自己选择。如果你想直接跟着我这个做,那我把我启动elasticsearch的代码也放下面了

拉去镜像
$ docker pull elasticsearch:7.10.1
运行镜像
$ docker run --name=elasticsearch -d -p 9200:9200 -p 9300:9300  你的镜像id

启动好访问就可以看到下面的图了
KONG网关和KONGA界面的入门使用,快速上手_第4张图片
2.下面开始操作KONGA
KONG网关和KONGA界面的入门使用,快速上手_第5张图片
只填第一个Name,完了就是这样
KONG网关和KONGA界面的入门使用,快速上手_第6张图片
KONG网关和KONGA界面的入门使用,快速上手_第7张图片
添加完成就是这样的
KONG网关和KONGA界面的入门使用,快速上手_第8张图片
下面点击service去创建
KONG网关和KONGA界面的入门使用,快速上手_第9张图片

就填写这四个,其余全部默认就好KONG网关和KONGA界面的入门使用,快速上手_第10张图片
KONG网关和KONGA界面的入门使用,快速上手_第11张图片
接下来咱们创建一个router
KONG网关和KONGA界面的入门使用,快速上手_第12张图片
KONG网关和KONGA界面的入门使用,快速上手_第13张图片
KONG网关和KONGA界面的入门使用,快速上手_第14张图片
我的主机是windows的,去你的hosts文件修改一下(我这里的路径是C:\Windows\System32\drivers\etc),加一行这个。如果你是linux系统那就是/etc/hosts文件修改一下,记得ctrl+s保存一下

KONG网关和KONGA界面的入门使用,快速上手_第15张图片
然后咱们刷新一下,在cmd下输入 ipconfig /flushdns
KONG网关和KONGA界面的入门使用,快速上手_第16张图片

好了,基本上该配置的都配置完了,咱们验证一下这个elasticsearch.ray.com的8000端口,/myes路径能不能访问到咱们的es
KONG网关和KONGA界面的入门使用,快速上手_第17张图片
这样就说明KONG给我们把流量转发过来了。

----------------------好了,下面咱们开始讲一下相关插件的问题-------------

其实KONG就是对openresty做了一层封装,那么咱们再去kong服务里找一下openresty的目录,可以看到这里有个lualib
KONG网关和KONGA界面的入门使用,快速上手_第18张图片
进到lualib目录,再进到resty目录,可以看到很多lua语言开发的插件
KONG网关和KONGA界面的入门使用,快速上手_第19张图片
有兴趣的可以研究一下,自己开发一个玩玩,这里就不做过多介绍了。

下面咱们再去界面上讲一下Consumers 这个概念
KONG网关和KONGA界面的入门使用,快速上手_第20张图片
KONG网关和KONGA界面的入门使用,快速上手_第21张图片
KONG网关和KONGA界面的入门使用,快速上手_第22张图片
KONG网关和KONGA界面的入门使用,快速上手_第23张图片
KONG网关和KONGA界面的入门使用,快速上手_第24张图片
KONG网关和KONGA界面的入门使用,快速上手_第25张图片
然后咱们回到ROUTES,点开你的routes,添加这个插件
KONG网关和KONGA界面的入门使用,快速上手_第26张图片
KONG网关和KONGA界面的入门使用,快速上手_第27张图片
再添加这个插件
KONG网关和KONGA界面的入门使用,快速上手_第28张图片
KONG网关和KONGA界面的入门使用,快速上手_第29张图片

好了,然后咱们再次访问一下刚才的地址,可以看到这次需要输入账号密码才能进去,说明开启了密码登录,输入你刚才的账号密码就能登陆了
KONG网关和KONGA界面的入门使用,快速上手_第30张图片

你可能感兴趣的:(KONG,KONGA,网关)