【发布时间】:2019-12-21 09:44:26
【问题描述】:
我想知道如何在同一端口上匹配 gRPC 路由。这是我希望通过 VirtualService 完成的一个示例:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: istio-ingress
spec:
hosts:
- "*"
gateways:
- istio-gateway
http:
- match:
- uri:
prefix: "/custom.api/stream"
- port: 31400
route:
- destination:
host: stream-handler.default.svc.cluster.local
port:
number: 8444
timeout: 60s
retries:
attempts: 3
perTryTimeout: 2s
- match:
- port: 31400
route:
- destination:
host: api.default.svc.cluster.local
port:
number: 8443
timeout: 60s
retries:
attempts: 3
perTryTimeout: 2s
所以基本上:对于进入 31400 的所有请求,第一个匹配项会在“/custom.api/stream”处寻找流式传输请求,该请求具有我的流服务器的目的地。
第二条规则是获取我的主要 API 的入口。
我的目标是让所有连接都通过 31400,然后将请求拆分到专用的内部服务。将来我可能会进一步拆分服务(不仅仅是流媒体)。 IE。整个端点组可能由单独的集群处理。
当我部署此规则时,虽然整个 VS 似乎失败并且没有任何响应。
【问题讨论】:
标签: kubernetes istio