如何使用单个Istio1.0网关资源重定向流量?

时间:2018-08-13 13:07:12

标签: istio

用例: 我有两个在Istio 1.0的前提k8s集群上运行的服务,分别是port: 5601的Kibana和Grafana的{​​{1}}。

需要使用基于路径的路由来路由这些服务。期望的是,使用单个网关需要使用路径分隔来访问这两种服务。

示例:http://172.16.22.233:31380/kibanahttp://172.16.22.233:31380/grafana

我尝试了以下配置,但不起作用。

gateway.yaml

port:3000

virtualservice.yaml

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: gateway
spec:
  selector:
    istio: ingressgateway # use istio default ingress gateway
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - "*"
`

有人可以建议网关和虚拟服务资源的配置吗?

1 个答案:

答案 0 :(得分:0)

如果您请求http://172.16.22.233:31380/kibana,则您的VirtualService将路由到kibana,但也会转发请求路径/kibana。我不确定会怎么做,但是发送404响应将是我的猜测。

如果要访问根页面/,则需要在规则中添加rewrite字段: - match: - uri: prefix: "/kibana" rewrite: uri: / route: - destination: port: number: 5601 host: kibana