重写 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。
测试中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。