重写 istio 入口控制器中的所有请求目标

Rewrite all request targets in istio ingress controller

测试中Istio I'm in need of rewriting all incomming requests on the Istio ingress controller in the same manner as with Kubernetes's own ingress controller, where I use the rewrite-target annotation

# Existing Kubernetes ingress configuration
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: api
  annotations:
    ingress.kubernetes.io/rewrite-target: /
spec:    
  rules:
  - host: some.host.com
    http:
      paths:
      - path: /svc
        backend:
          serviceName: svc
          servicePort: 80

这使得所有请求,例如http://some.host.com/svc/endpoint 使用 /endpoint 而不是 /svc/endpoint

命中服务

如何使用 Istio 的入口控制器有效地执行相同的操作?

Route rules 对象可以处理重写,但只能按目的地方式使用,即我必须为每个服务创建路由规则。

你是对的。每个服务都需要一个路由规则来设置重写目标。有关示例,请参阅 https://istio.io/docs/reference/config/traffic-rules/routing-rules.html#httprewrite