有兩套基于istio的網關,一個higress,另一個istio,分別在不同的命名空間。同一份virtualservice配置,要同時適用于兩套網關。
virtualservice配置
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: demo-vs
namespace: default
spec:
gateways:
- default/gw2
- default/gw1
hosts:
- demo.abc
- demo.abc.def.com
http:
- match:
- authority:
prefix: demo.abc
gateways:
- default/gw1
retries: {}
route:
- destination:
host: demo-ping.default.svc.cluster.local
port:
number: 8888
- match:
- authority:
prefix: demo.abc.def.com
gateways:
- default/gw2
retries: {}
route:
- destination:
host: demo-ping.default.svc.cluster.local
port:
number: 8888
其中有兩個gw
istio的gateway
apiVersion: networking.istio.io/v1beta1
kind: Gateway
metadata:
name: gw1
namespace: default
spec:
selector:
istio: ingressgateway
servers:
- hosts:
- '*'
port:
name: http
number: 8081
protocol: HTTP
higress的gateway
apiVersion: networking.istio.io/v1beta1
kind: Gateway
metadata:
name: gw2
namespace: default
spec:
selector:
app: higress-gateway
servers:
- hosts:
- '*'
port:
name: http
number: 80
protocol: HTTP