我正在寻找一个内部集群代理,在Istio的Gateway文档中,我发现了以下内容:
您还可以使用网关来配置纯内部代理
所以我的问题是我该怎么做?我假设特定的实现只是集群上运行的一个特使。对于网关的清单,大多数情况下都需要选择器,它是入口网关来处理来自集群外部的流量。在我的情况下,选择器应该是什么,因为我需要内部实现?
答案 0 :(得分:2)
您可以为此使用istio mesh
网关。
istio documentation中有一个示例,请看一下粗体。
例如,以下VirtualService将https://uk.bookinfo.com/reviews,https://eu.bookinfo.com/reviews,http://uk.bookinfo.com:9080/reviews,http://eu.bookinfo.com:9080/reviews的流量分成端口上的内部审核服务的两个版本(prod和qa) 9080.此外,包含cookie“ user:dev-123”的请求将被发送到qa版本的特殊端口7777。 同一规则也适用于网格内对“ reviews.prod.svc.cluster.local”服务的请求。此规则适用于端口443、9080。请注意,http://uk.bookinfo.com重定向到https://uk.bookinfo.com(即80重定向到443)。
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: bookinfo-rule
namespace: bookinfo-namespace
spec:
hosts:
- reviews.prod.svc.cluster.local
- uk.bookinfo.com
- eu.bookinfo.com
gateways:
- some-config-namespace/my-gateway
- mesh # applies to all the sidecars in the mesh
http:
- match:
- headers:
cookie:
exact: "user=dev-123"
route:
- destination:
port:
number: 7777
host: reviews.qa.svc.cluster.local
- match:
- uri:
prefix: /reviews/
route:
- destination:
port:
number: 9080 # can be omitted if it's the only port for reviews
host: reviews.prod.svc.cluster.local
weight: 80
- destination:
host: reviews.qa.svc.cluster.local
weight: 20