当前位置: 首页 > 知识库问答 >
问题:

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

洪增
2023-03-14

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

共有2个答案

沈乐邦
2023-03-14

您可以将自定义插件烘焙到容器映像中,或者修改您的部署清单,以下载并运行配置中带有命令参数的插件。

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

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

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

孙志
2023-03-14

如果您使用的是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安装来安装插件

构建您自己的自定义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中添加一些社区插件和企业插件。

 类似资料:
  • 我尝试创建一个自定义spi,在我的keycloak项目中,遵循基本的keycloack结构,我添加了扩展provider的自定义provider接口,正如keycloak文档所说,定制提供程序工厂并为它们实现定制spi,它们在源代码中是这样做的,之后,我为我的提供程序和提供程序工厂创建一个自定义实现,如文档所述,我在Meta-INF/Services中创建文件,我正在使用ear aproach来部

  • 我们目前正试图在GKE集群中部署Kong,目标是将证书管理委托给谷歌的负载均衡器(SSL终止应该在这里进行)。 我们面临的问题是,谷歌的所有文档都专注于部署一些服务,并使用其专用的负载平衡器直接连接到入口。 当前工作的配置(没有Kong)如下: 然而,当我们将更改为作为入口时。类,所有其他注释都无法继续工作。这是意料之中的,因为现在Kong的代理是负载均衡器,应该是告诉Google的LB如何生成自

  • 我正在使用SonarQube 4.2和sonar-java-plugin-2.2.1。我试图基于BaseTreeVisitor(https://github.com/sonarsource/sonar-examples/blob/master/plugins/java-custom-rules/src/main/java/org/sonar/samples/java/examplecheck.ja

  • 我正在做一个maven构建在我的jenkins和创建一个战争文件,我已经配置了webphere部署插件,并成功地测试了连接。我试图部署战争文件webshere部署插件,但我得到一个错误 部署到IBM WebSphere Application Server时出错:应为Ant GLOB模式。 我猜在我部署maven build时,它需要一个ant构建。 我在jenkins中复制了WebSphereD

  • 我是Quarkus新手,我编写了一个提供rest API的扩展,我们称之为。 其思想是,扩展将提供应用程序所需的rest资源,应用程序提供业务逻辑。 因此,我创建了一个Kwkus项目,该项目使用该扩展并提供了一个bean,该bean使用业务逻辑实现。 但是,当我启动应用程序时,不会创建endpoint,当我调用它时,它会返回。 问题是:如何使扩展中定义的rest资源对使用它的应用程序可见?

  • 我已经在应用程序中添加了这些字段。pom中微服务和依赖关系的yml。xml。Jaeger在my local上运行也可以识别服务 我已经在kubernetes上部署了所有的微服务。请帮助我在kubernetes部署jaeger。 更新:我已达到此步骤。我有一个用于jaeger查询的负载平衡器IP。但是我的微服务将把日志发送到哪个主机和端口??