我正在查找 Kong API 网关,并通过 Google Cloud Marketplace 在 GKE 上部署了一个 Kong 实例。我想向这个实例添加一个自定义 Kong 插件并为我的服务启用它。我怎么能做到?有什么资源可以让我对此有所了解吗?谢谢你。
2 回答
如果您使用的是 docker
您可以使用 kong 安装任何插件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 中添加一些社区插件和企业插件。
您可以将自定义插件烘焙到您的容器映像中,或者修改您的部署清单以下载和运行插件command
并arguments
在配置中运行。
对于第一个选项,您只需将安装和运行插件的命令添加到您的 Dockerfile 中,然后使用docker build
. 获得新映像后,您可以通过使用或修改 Cloud Console 中的工作负载来执行滚动更新。kubectl set image deployment
修改部署 YAML 会产生类似的结果,但您需要在容器启动时添加command
并下载并运行自定义插件。arguments
google-marketplace-kong-app和kong-dist-kubernetes repo 有关于如何手动构建和部署 Kong 的说明。我建议检查它们并包含您的自定义插件。