在GKE部署的Kong API网关中部署自定义Kong插件

时间:2019-10-02 09:10:18

标签: kubernetes google-kubernetes-engine kong kong-plugin

我正在查找Kong API网关,并通过Google Cloud Marketplace在GKE上部署了Kong实例。我想向此实例添加一个自定义的Kong插件,并为我的服务启用它。我该怎么办?我是否可以利用任何资源来对此有所了解?谢谢。

2 个答案:

答案 0 :(得分:1)

如果您正在使用docker

您可以使用luarocks

在kong中安装任何插件

例如,这是一个示例docker文件

FROM kong
ENV LUA_PATH /usr/local/share/lua/5.1/?.lua;/usr/local/kong-oidc/?.lua;;
# For lua-cjson
ENV LUA_CPATH /usr/local/lib/lua/5.1/?.so;;

# Install unzip for luarocks, gcc for lua-cjson
RUN yum install -y unzip gcc 
RUN luarocks install luacov

这里是oidc插件的一个示例:https://github.com/nokia/kong-oidc

我们可以使用luarocks install <plugin name>

安装插件

构建您自己的自定义docker映像并将kong映像用作基本docker映像。

这里的整个示例都可以Dockerfile

FROM kong:latest  
USER root
RUN apk update && apk add git unzip luarocks
RUN luarocks install kong-oidc  
USER kong

通过这种方式,您还可以在docker中添加一些社区插件和企业插件。

答案 1 :(得分:0)

您可以将自定义插件烘烤到容器映像中,也可以修改部署清单以在配置中使用commandarguments下载并运行该插件。

对于第一个选项,您只需要添加命令即可将插件安装并运行到Dockerfile中,然后使用docker build构建映像。拥有新映像后,可以使用kubectl set image deployment执行rolling update或在Cloud Console中修改工作负载。

修改部署YAML会有类似的结果,但是您需要在容器启动时添加commandarguments来下载并运行自定义插件。

google-marketplace-kong-appkong-dist-kubernetes回购包含有关如何手动构建和部署Kong的说明。我建议您检查它们并包括您的自定义插件。