用例:
我有两个在Istio 1.0
的前提k8s集群上运行的服务,分别是port: 5601
的Kibana和Grafana
的{{1}}。
需要使用基于路径的路由来路由这些服务。期望的是,使用单个网关需要使用路径分隔来访问这两种服务。
示例:http://172.16.22.233:31380/kibana和http://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:
- "*"
`
有人可以建议网关和虚拟服务资源的配置吗?
答案 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