【问题标题】:Routing requests to services based on URI prefix in Istio VS在 Istio VS 中基于 URI 前缀将请求路由到服务
【发布时间】:2023-03-26 00:55:01
【问题描述】:

这就是我想要实现的目标: 根据 URI 前缀将流量路由到服务

我面临的问题: 无法从上下文路径中分离前缀

解释:

我想根据前缀将流量路由到服务。 比如说 /dev/service/context/path//test/service/context/path/ 。 但是如果不更改应用程序本身的上下文路径,我就无法这样做。

有没有办法可以将 URI 的前缀部分与应用程序的上下文路径分开?

这就是我的 VS 的样子:

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: servicea
  namespace: dev
spec:
  hosts:
  - "*"
  gateways:
  - dev-gateway
  http:
  - match:
    - uri:
        prefix: /dev
    route:
    - destination:
        port:
          number: 8080
        host: servicea

谢谢

【问题讨论】:

    标签: kubernetes kubernetes-ingress istio contextpath


    【解决方案1】:

    不确定我是否正确理解了您的问题。我想你可以像这样添加一个重写规则:

    apiVersion: networking.istio.io/v1alpha3
    kind: VirtualService
    metadata:
      name: servicea
      namespace: dev
    spec:
      hosts:
      - "*"
      gateways:
      - dev-gateway
      http:
      - match:
        - uri:
            prefix: /dev
        rewrite:
           uri: /
        route:
        - destination:
            port:
              number: 8080
            host: servicea
    

    这样,您对/dev/service/context/path/ 的流量变为/service/context/path/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-09
      • 1970-01-01
      • 2010-10-25
      • 2019-12-19
      • 2014-09-29
      • 2014-05-06
      • 2019-03-02
      • 1970-01-01
      相关资源
      最近更新 更多