Kubernetes Istio-基于标头值的动态请求路由

Kubernetes Istio-基于标头值的动态请求路由,kubernetes,istio,Kubernetes,Istio,基于报头值的动态请求路由 对于我们的QA环境,我们需要为传入(入口)和传出(出口)请求配置一种特殊的路由。因此,对于传出请求,规则应使用正则表达式计算头值,并从头中捕获一个值,并使用该值构建请求重定向的URL。标头中的值会动态更改,因此无法硬编码重定向URL 例如,如果传出请求转到服务主机.anydomain.com,但有一个值为verbu-1234的头值转发给功能,则请求应重定向到服务-verbu-1234.anydomain.com 对于传入请求,情况类似。如果源代码指向webapp-ver

基于报头值的动态请求路由

对于我们的QA环境,我们需要为传入(入口)和传出(出口)请求配置一种特殊的路由。因此,对于传出请求,规则应使用正则表达式计算头值,并从头中捕获一个值,并使用该值构建请求重定向的URL。标头中的值会动态更改,因此无法硬编码重定向URL

例如,如果传出请求转到服务主机.anydomain.com,但有一个值为verbu-1234的头值转发给功能,则请求应重定向到服务-verbu-1234.anydomain.com

对于传入请求,情况类似。如果源代码指向webapp-verbu-1234.anydomain.com,但请求指向服务主机.anydomain.com,则正则表达式应从源代码域中提取verbu-1234,并用提取的值替换URL中的主机


我知道,可以使用正则表达式来匹配标题值,但我不确定,如果可以使用从匹配中捕获的值来影响目标URL,至少我在文档中找不到这一点。

我认为这是不可能的

但是如果您的QA系统知道可用的功能,并且您需要在Istio中这样做,那么您可以尝试为每个功能创建VirtualService。多个虚拟服务将由Istio合并