如何配置Istio Gateway与VirtualService实现子页面Ingress路由
配置方案
问题根因
现有VirtualService配置存在两处缺陷:
- 仅使用
exact精确匹配/和/MartServer路径,应用运行所需的静态资源、子接口、主页面/productpage等路径均无法匹配路由规则,导致访问失败 - 未配置路径跳转规则,访问根路径和
/MartServer时直接转发到后端对应路径,而这两个路径后端仅返回空页面
可行配置
Gateway配置无需修改,替换为如下VirtualService配置即可:
apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: martserver spec: hosts: - "*" gateways: - martserver-gateway http: # 路径跳转规则:访问根路径或/MartServer时自动跳转至应用主页面 - match: - uri: exact: / - uri: exact: /MartServer redirect: uri: /productpage # 全局路由规则:匹配所有应用路径转发至后端服务 - match: - uri: prefix: / route: - destination: host: mart-service port: number: 80
验证方式
配置生效后,直接访问Istio Ingress网关IP,会自动跳转至/productpage页面,访问http://<网关IP>/MartServer也会自动跳转至主页面,所有应用功能均可正常加载。
内容的提问来源于stack exchange,提问作者uday
相关产品推荐
相关产品推荐

