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(需要修改成你的镜像名称)  

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值