如何使用 ingress-nginx 中的插件来包装请求?

如何使用 ingress-nginx 中的插件来包装请求?

我正在尝试使用lua-断路器插件入口-nginx在 Kubernetes 集群中。我想设置两个上游服务器,这样第一个服务器就被这个断路器“包裹”,如果断路器打开,它会回退到不同的上游端点。两个上游服务器都是 Kubernetes Service

目前有两件事我不确定。

  1. 插件支持ingress-nginx 似乎希望插件在某些回调函数(如init_worker或 )内运行rewrite。我不知道如何复制lua-circuit-breaker 插件中的示例因为它在“包装”函数之前设置了一个局部变量,并在之后使用它。据我所知,如果我在回调中初始化它,我将无法在回调中访问它。似乎不可能将请求包装在变量的范围内cbheader_filterrewrite
  2. 我不确定如何使用 KubernetesIngress对象来设置回退行为。如果我使用,server-snippet我相信它仅适用于单个上游服务器,并且我无法在单个 Ingress 中设置多个上游服务器。

lua-nginx-module由于不熟悉这些用法,我在这里遇到了一些困难ingress-nginx。任何帮助我都非常感谢!

相关内容