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



我正在查找Kong API网关,并通过Google Cloud Marketplace在GKE上部署了一个Kong实例。我想向此实例添加一个自定义 Kong 插件,并为我的服务启用它。我该怎么做?有什么资源可以让我了解这一点吗?谢谢。

如果您使用的是 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 中添加一些社区插件和企业插件。

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

对于第一个选项,您只需要将安装插件并运行插件的命令添加到您的 Dockerfile,然后使用docker build构建映像。拥有新镜像后,您可以使用kubectl set image deployment执行滚动更新,也可以在云控制台中修改工作负载。

修改部署 YAML 会产生类似的结果,但您需要添加commandarguments,以便在容器启动时下载和运行自定义插件。

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

最新更新