是否对同一主机应用了虚拟服务?

时间:2019-08-07 12:14:40

标签: kubernetes istio

我有两个名称空间。

应用程序:

  • serviceA
  • serviceB
  • 虚拟服务C-> B

    gateway: mesh
    host: serviceC.external.svc.cluster.local
    destination: serviceB.application.svc.cluster.local
    exportTo: . (same namespace)
    

外部:

  • serviceC
  • 虚拟服务C-> C

    gateway: mesh
    host: serviceC.external.svc.cluster.local
    destination: serviceC.external.svc.cluster.local
    exportTo: * (all namespaces)
    

问题:哪个虚拟服务处理对serviceC.external.svc.cluster.local的请求serviceA?有优先级吗?

Istio说:“如果将VirtualService绑定到网关,则只能以这种方式进行分段。边车不支持主机合并。”

我试图重现这种情况,虚拟服务C-> B处理请求并将其路由到ServiceB。

1 个答案:

答案 0 :(得分:0)

如果我对您的理解正确,那么您应该检查一些记录在案的材料:

  1. 您需要熟悉Routing rule precedence
  

配置文件中给定目标的多个规则是   按照它们出现的顺序进行评估。列表上的第一条规则是   最高优先级。

  1. 您还可以使用可以设置为特定优先级的Rules Configuration
  

可以将多个路由规则应用于同一目的地。的   与给定目的地对应的规则的评估顺序,   如果有多个,可以通过设置   规则的优先级字段。

     

优先级字段是一个可选的整数值,默认为0。规则   优先级较高的值将首先评估。如果还有更多   比一个具有相同优先级值的规则的求值顺序   未定义。

  1. 我看到您正在使用不同的名称空间。您还应该熟悉Cross-namespace configuration sharing

请告诉我是否有帮助。