istio路由问题的应用程序路径

时间:2019-05-27 13:25:32

标签: amazon-web-services kubernetes google-cloud-platform istio

我正在使用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:
        - "*"

0 个答案:

没有答案