无法通过Istio中的虚拟服务访问该服务

时间:2018-12-21 04:01:42

标签: kubernetes istio docker-windows docker-desktop

我是 istio 的新手,我的整个代码都放在http://github.com/VenkateshSrini/IstioTest中。我已经创建了托管Kubernetes服务所需的服务(回购中的istio-test-deployment.yaml)。我在Windows的 docker桌面(启用了Kubernetes)上进行了测试,并且可以正常工作。我已经通过端口5000公开了我的服务。在Windows的docker中,外部IP始终是localhost。

现在使用istoctl我创建了一个侧面汽车部署。从istio-test-dep-injected.yaml可以看出。我执行了此操作,并使用Sidecar创建了服务。现在无法通过http://localHost:5000访问同一服务,我认为这是正确的

然后,我继续创建虚拟网关。可以在virtual-gateway.yaml中看到相同的定义。然后,我根据virtualservice.yaml创建了一个虚拟服务。为此,我提供了主机名和Kubernetes的名称,服务名称和端口是5000。

即使如此,我仍然无法使用URL http://localHost/api/version

访问服务

有人可以帮我吗,因为在Windows的Docker上使用Istio并没有太多帮助

1 个答案:

答案 0 :(得分:0)

您似乎忘记了添加匹配规则。尝试遵循添加match字段

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: istio-test-virtualservice
spec:
  gateways:
  - istio-test-gateway
  hosts:
  - '*'
  http:
  - match:
    - uri:
        prefix: /
    route:
    - destination:
        host: istio-test
        port:
          number: 5000