【问题标题】:Getting 404 NOT FOUND on Service Deployment on kubernetes/istio在 kubernetes/istio 上进行服务部署时出现 404 NOT FOUND
【发布时间】:2020-07-22 21:21:11
【问题描述】:

我创建了 yaml 文件并将服务部署在 kubernetes 和 istio 上。一切看起来都很好,但是当我测试服务时,它给出了 404 NOT FOUND。我不确定我是否错过了什么。有没有人对此有任何解决方案或我可能错的地方?以下是 yaml 文件:

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: login-register-vs
spec:
  hosts:
  - "*"
  gateways:
  - webapp-gateway
  http:
  - match:
    - uri:
        prefix: /loginregister
    route:
    - destination:
        port:
          number: 8080
        host: login-register-service

以上代码是虚拟服务代码。 这是网络服务代码。

apiVersion: v1
kind: Service
metadata:
  name: login-register-service
  labels:
    app: login-register-service
spec:
  ports:
    - name: http
      port: 8080
  selector:
    app: login-register-service
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: login-register
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: login-register-service
        version: v1
    spec:
      containers:
      - name: login-register-service
        image: {ImageName}
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 8080

我在邮递员上收到的错误消息是 404 未找到

{
    "timestamp": "2020-07-22T18:15:28.206+00:00",
    "status": 404,
    "error": "Not Found",
    "message": "",
    "path": "/loginregister/sms/auth"
}

【问题讨论】:

  • 你如何测试它? CURL 还是浏览器?网关的外观如何?
  • 我使用 CURL 对其进行了测试。网关显示 404 NOT FOUND。但是在 gke 和 kubernetes 上它显示 OK。那么yaml文件有问题吗?
  • 您是否使用网关资源对其进行配置以允许流量进入网关,并且您是否使用 VirtualServices 将流量引导至服务?
  • 你在vs中的路径是/loginregister,试着把它改成/loginregister/sms/auth或者像documentation中提到的那样对/loginregister/sms/auth添加重写。

标签: java spring-boot google-kubernetes-engine kubernetes-ingress istio


【解决方案1】:

网关'webapp-gateway'的定义是什么?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-30
    • 1970-01-01
    • 2016-09-13
    • 2020-10-21
    • 2021-12-27
    • 1970-01-01
    • 2016-06-30
    • 2021-08-24
    相关资源
    最近更新 更多