是否可以使用下图所述的路由规则进行流量路由?流量路由需要在流量进入集群后立即发生。
我们一直在摆弄它们,但是一旦我们有两个路由规则并在其中一个规则中使用了 uri 正则表达式,我们总是会碰壁。
我们的想法是像这样配置 istio ingress
# Ingress
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: gateway
annotations:
kubernetes.io/ingress.class: "istio"
spec:
backend:
serviceName: frontend
servicePort: 8080
然后根据 uri 标头配置拆分流量的路由规则。以下是我们如何配置产品路由规则的示例:
apiVersion: config.istio.io/v1alpha2
kind: RouteRule
metadata:
name: products-rule
spec:
destination:
name: frontend
precedence: 2
match:
request:
headers:
uri:
regex: "^/(?:.*?)/?products(?:/.*)?$"
route:
- labels:
fe-app: products
istio 可以进行这种设置吗?