Как направить весь трафик на сервис в Istio?
У меня есть yaml-файл виртуальной службы со строками ниже.
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: nodeserver
spec:
hosts:
- "*"
gateways:
- node-gateway
http:
- match:
- uri:
exact: /
- uri:
exact: /sample1
- uri:
exact: /sample2
route:
- destination:
host: node-service
port:
number: 8080
Здесь вместо/sample1
и/sample2
как два совпадения URL-адресов, могу ли я назначить что-то вроде*
по умолчанию маршрутизировать весь трафик в node-service? Кроме того, если на веб-странице есть гиперссылки, Istio перенаправит их по умолчанию или для этого потребуется добавить какую-либо пользовательскую конфигурацию?
2 ответа
Вы можете использоватьregex
вместоexact
в HTTPMatchRequest.
Таким образом, вы можете перехватить все с помощью регулярного выражения в стиле ECMAscript.
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: nodeserver
spec:
hosts:
- "*"
gateways:
- node-gateway
http:
- match:
- uri:
regex: '.+'
route:
- destination:
host: node-service
port:
number: 8080
Используйте префикс: ''
Это сработало для меня:
http:
- match:
- uri:
prefix: ''