Kubernetes 具有上下文路径的istio虚拟服务路由目标

Kubernetes 具有上下文路径的istio虚拟服务路由目标,kubernetes,istio,servicemesh,Kubernetes,Istio,Servicemesh,我有一个istio配置,docker容器在tomcat()上运行jasperreports。应用程序本身可以通过位于的上下文路径进行访问http://IP:8080/jasperserver. 我计划在kubernetes配置中使用istio,使用http网关和虚拟服务公开服务。除了虚拟服务配置中的目标主机和端口号之外,我还可以添加“jasperserver”的上下文路径吗 这是我当前的virtualservice配置 apiVersion: networking.istio.io/v1alph

我有一个istio配置,docker容器在tomcat()上运行jasperreports。应用程序本身可以通过位于的上下文路径进行访问http://IP:8080/jasperserver.

我计划在kubernetes配置中使用istio,使用http网关和虚拟服务公开服务。除了虚拟服务配置中的目标主机和端口号之外,我还可以添加“jasperserver”的上下文路径吗

这是我当前的virtualservice配置

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: http-gateway
spec:
  selector:
    istio: ingressgateway # use istio default controller
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - "*"
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: jasper-virtual-services  
spec:
  hosts:
  - "*"
  gateways:
  - http-gateway
  http:
  - match:
    - uri:
        exact: /report
    
    route:
    - destination:
        host: jasperserver.reporting.svc.cluster.local
        port:
          number: 80

您可能正在寻找

差不多

  http:
  - match:
    - uri:
        exact: /report
    rewrite:
      uri: /jasperserver

嗨,我已经试过了,但是它会导致“太多重定向”尝试添加相同的uri,但作为前缀,而不是确切的。好的。。让我试着用图表。。我需要在pod中添加更多的侧车,这就是为什么我使用docker映像并从头构建部署yaml。。将更新调查结果。。提前谢谢@Jakub@Jakub你是对的。。如果我使用默认的istio配置,它可以正常工作,没有任何问题。我的错误是使用HTTP类型的负载平衡器添加了另一个入口。多谢各位much@ChristophRaab对不起,我漏掉了你的评论。。是的,前缀确实解决了这个问题。。谢谢大家。。