我正在使用istio
最新版本1.17
,并且我的应用程序具有
几条路线
例如
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name:virtualservice
spec:
hosts:
- "*"
gateways:
- ingressgateway
http:
- match:
- uri:
prefix: "/"
- uri:
exact: "/api/users"
route:
- destination:
host: stb-mvs-us
现在何时使用入口网关
kubectl get svc -n istio-system -l istio=ingressgateway
我看到了外部IP,并且如果我像这样使用它:
http://6026651-81434690.eu-central-1.elb.fds.com
我看到了索引页面,并且它有效
但是我的应用程序也暴露了类似的路由
“ / api /用户”
当我通过浏览器访问它时,出现错误503,这可能是什么原因?
http://6026651-81434690.eu-central-1.elb.fds.com/api/users
如果我将服务(用于测试)切换为使用LoadBalancer,则可以看到路由“ / api / users”正在运行…
我的virtual service
配置是否错误?
更新
根据建议,我将其更改为以下内容
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name:virtualservice
spec:
hosts:
- "*"
gateways:
- ingressgateway
http:
- match:
- uri:
exact: "/api/users"
route:
- destination:
host: stb-mvs-us
,我可以看到根目录(index.html),而无法看到路径api/users
,例如http://6026651-81434690.eu-central-1.elb.fds.com/api/users
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: http-gateway
spec:
selector:
istio: ingressgateway
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "*"