Kubernetes 从入口迁移到istio时找不到404

Kubernetes 从入口迁移到istio时找不到404,kubernetes,istio,gateway,Kubernetes,Istio,Gateway,我正在尝试从入口迁移到istio网关+虚拟服务路由,但我一直收到一个404notfound错误 应用程序应该访问的唯一链接是使用本地配置的my todos.com 我错过了什么 注意:入口控制器工作正常。最初,istio.yaml文件中的todo-lb.default.svc.cluster.local刚刚设置为todo-lb,表示配置的负载平衡器,但仍然没有成功 以下是ingres.yaml文件(要从中迁移): 以下是istio.yaml文件(要迁移到): 从我看到的情况来看,您的虚拟服务中的

我正在尝试从入口迁移到istio网关+虚拟服务路由,但我一直收到一个
404notfound
错误

应用程序应该访问的唯一链接是使用本地配置的
my todos.com

我错过了什么

注意:入口控制器工作正常。最初,
istio.yaml
文件中的
todo-lb.default.svc.cluster.local
刚刚设置为
todo-lb
,表示配置的负载平衡器,但仍然没有成功

以下是
ingres.yaml
文件(要从中迁移):

以下是
istio.yaml
文件(要迁移到):


从我看到的情况来看,您的虚拟服务中的网关配置错误,这就是它可能无法工作的原因


如果网关与虚拟服务不在同一名称空间中,则必须在虚拟服务中指定该名称空间

检查
spec.gateways
部分

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: bookinfo-Mongo
spec:
  gateways:
  - some-config-namespace/my-gateway # can omit the namespace if gateway is in same
                                       namespace as virtual service.

这是有关联的


因此,请将todo istio网关移动到默认名称空间

或使用

gateways:
  - istio-system/todo-istio-gateway

如果这不起作用,则需要检查以下几点:

  • 您的应用程序是否部署在默认命名空间中
  • 你的应用程序是什么

    • 除了@Jakub answer,还有一个原因可以导致404错误。您当前在虚拟服务中的入口规则如下所示:

      主机名 路径 路线 my-todos.com / 转发到todo-lb.default.svc.cluster.local my-todos.com /原料药 转发到{{.Values.api.apiName}
      你好,雅库布!是的,该应用程序部署在默认名称空间中,并且已启用
      istio injection=enabled
      @DragoșBocancea您可以添加您的部署和服务依赖项吗?http和https都不工作?同样正如Malathi提到的,istio入口网关日志中是否有任何内容?我已经删除了第二个虚拟服务,其中包括
      /api
      前缀,并按照Jakub的建议添加了
      网关:-istio系统/todo istio网关
      ,但是没有成功。可能是您可以在
      istio系统
      名称空间中检查istio入口网关吊舱的日志?
      apiVersion: networking.istio.io/v1alpha3
      kind: VirtualService
      metadata:
        name: bookinfo-Mongo
      spec:
        gateways:
        - some-config-namespace/my-gateway # can omit the namespace if gateway is in same
                                             namespace as virtual service.
      
      apiVersion: networking.istio.io/v1alpha3
      kind: Gateway
      metadata:
        name: my-gateway
        namespace: some-config-namespace
      
      gateways:
        - istio-system/todo-istio-gateway