我正在查找Kong API网关,并通过Google Cloud Marketplace在GKE上部署了Kong实例。我想向此实例添加一个自定义的Kong插件,并为我的服务启用它。我该怎么办?我是否可以利用任何资源来对此有所了解?谢谢。
答案 0 :(得分:1)
如果您正在使用docker
您可以使用luarocks
例如,这是一个示例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)
您可以将自定义插件烘烤到容器映像中,也可以修改部署清单以在配置中使用command
和arguments
下载并运行该插件。
对于第一个选项,您只需要添加命令即可将插件安装并运行到Dockerfile中,然后使用docker build
构建映像。拥有新映像后,可以使用kubectl set image deployment
执行rolling update或在Cloud Console中修改工作负载。
修改部署YAML会有类似的结果,但是您需要在容器启动时添加command
和arguments
来下载并运行自定义插件。
google-marketplace-kong-app和kong-dist-kubernetes回购包含有关如何手动构建和部署Kong的说明。我建议您检查它们并包括您的自定义插件。