Lua 集群指定器
在本例中,我们演示了如何将 Lua 集群指定器与 Envoy 代理一起使用。
示例 Envoy 代理配置包含一个 Lua 集群指定器插件,其中包含一个函数
envoy_on_route(route_handle)
提示
请参阅 Lua 集群配置文档,了解有关该函数的概述和文档。
步骤 1:构建沙箱
切换到 examples/lua-cluster-specifier
目录,并启动组合。
$ pwd
envoy/examples/lua-cluster-specifier
$ docker compose pull
$ docker compose up --build -d
$ docker compose ps
Name Command State Ports
--------------------------------------------------------------------------------------------
lua-cluster-specifier-proxy-1 /docker-entrypoint.sh /usr ... Up 10000/tcp, 0.0.0.0:10000->10000/tcp
步骤 2:向正常服务发送请求
由于 lua 代码选择了正常服务,因此以下 curl
命令的输出应返回 200。
$ curl -i localhost:10000/anything 2>&1 |grep 200
HTTP/1.1 200 OK
步骤 3:向假服务发送请求
如果指定请求头 header_key:fake
,curl 将返回 503
响应,因为 Lua 代码将选择假服务。
$ curl -i localhost:8000/anything -H "header_key:fake" 2>&1 |grep 503
HTTP/1.1 503 Service Unavailable
另请参阅
- Envoy Lua 集群指定器
了解有关 Envoy Lua 集群指定器的更多信息。
- Lua
Lua 编程语言。