首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法使用“将大型虚拟服务和目标规则拆分成多个资源”

无法使用“将大型虚拟服务和目标规则拆分成多个资源”
EN

Stack Overflow用户
提问于 2020-03-25 14:54:49
回答 1查看 29关注 0票数 0

istio document dercribe“将大型虚拟服务和目的地规则拆分成多个资源”

https://istio.io/docs/ops/best-practices/traffic-management/

这是我的virtualService yaml

代码语言:javascript
运行
复制
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: project-b
  namespace: test1
spec:
  hosts:
  - project-b.test1.svc.cluster.local
  http:
  - match:
    - headers:
        route-namespace:
          exact: "test1"
    route:
    - destination:
        host: project-b.test1.svc.cluster.local


---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: project-b-test2
  namespace: test1
spec:
  hosts:
  - project-b.test1.svc.cluster.local
  http:
  - match:
    - headers:
        route-namespace:
          exact: "test2"
    route:
    - destination:
        host: project-b.test2.svc.cluster.local

enter image description here只有一个虚拟服务可用,

EN

回答 1

Stack Overflow用户

发布于 2020-03-25 20:49:31

是的,这是预期行为。

根据istio文档:

在不方便在单个VirtualServiceDestinationRule资源中为特定主机定义完整的路由规则或策略集的情况下,最好是在多个资源中递增地指定主机的配置。Pilot将合并这样的目的地规则,如果它们绑定到网关,则合并这样的虚拟服务。

当为现有主机应用第二个及后续VirtualService时,istio-pilot会将其他路由规则合并到该主机的现有配置中。但是,在使用此功能时,必须仔细考虑几个注意事项。

  1. 尽管将保留任何给定源VirtualService中规则的评估顺序,但跨资源顺序是未定义的。换句话说,对于跨片段配置的规则没有保证的评估顺序,因此只有在没有冲突的规则或跨fragments.
  2. There的规则之间的顺序依赖关系应该只是片段中的一个“通用”规则(即,匹配任何请求路径或标头的规则)的情况下,它才具有可预测的行为。在合并的配置中,所有这样的“全部捕获”规则将被移动到列表的末尾,但由于它们捕获所有请求,因此首先应用的规则实际上将覆盖和禁用任何其他请求。
  3. A VirtualService只有在绑定到网关时才能以这种方式进行分段。sidecars中不支持主机合并。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60844131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档