kong通过docker安装自定义路由通配符插件

0).前提默认会使用docker

1).安装postgres数据库

  使用docker命令拉取postgres数据库镜像(版本自定)

docker pull  postgres:9.6

2)使用docker命令拉取kong镜像(版本自定)

docker pull  kong:1.4

3)使用docker运行postgres数据库实例,指定实例名为kong-database,用户名为kong,DB名为kong

docker run -d --name kong-database -p 5432:5432 -e "POSTGRES_USER=kong" -e "POSTGRES_DB=kong" postgres:9.6

4)使用docker对postgres数据库进行初始化

docker run --rm --link kong-database:kong-database -e "KONG_DATABASE=postgres" -e "KONG_PG_HOST=kong-database" -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" kong kong migrations bootstrap

5)使用docker运行kong实例

docker run -d --name kong --link kong-database:kong-database -e "KONG_DATABASE=postgres"  -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  

6)进入kong实例sh

docker exec -it kong /bin/sh

7)安装必须工具

//编译工具
apk add gcc
//安装库
apk add libc-dev
//lua支持
apk add lua
//lua包管理器
apk add luarocks
//安装lua库  
luarocks install lua-cjson
​
//可以使用如下命令验证是否安装成功
luarocks list

8)安装kong插件教程

//安装插件
git clone https://github.com/xiaomastack/kong-plugin-upstream-url-penetrate.git
​
//进入插件目录
cd kong-plugin-upstream-url-penetrate/
​
//运行
luarocks make
​
kong-plugin-upstream-url-penetrate 1.0.0-1 is now installed in /usr/local (license: Apache-2.0)

9)配置kong.conf

$ vi /etc/kong/kong.conf
//找到plugins = bundled配置项,在其后面加上新增的插件名,并用逗号分隔
plugins = bundled, upstream-url-penetrate
​
//使用下面命令使kong不用重启加载插件
kong prepare
kong reload

就可以使用了

除此之外如果需要打包新的镜像:

10)打包镜像

sh命令:

yum install -y git
git clone https://github.com/xiaomastack/kong-plugin-upstream-url-penetrate.git
cd kong-plugin-upstream-url-penetrate/
luarocks make

cp /etc/kong/kong.conf.default /etc/kong/kong.conf
echo "plugins = bundled, upstream-url-penetrate" >> /etc/kong/kong.conf

DockerFile:

FROM kong:1.4
ADD install-kong-plugin-upstream-url-penetrate.sh /tmp/
RUN /bin/sh /tmp/install-kong-plugin-upstream-url-penetrate.sh

注意:运行新的镜像的时候

docker run -d --name kong --link kong-database:kong-database -e "KONG_DATABASE=postgres"  -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(需要修改成你的镜像名称)  

猜你喜欢

转载自blog.csdn.net/qq_38366743/article/details/103558155