Невозможно получить доступ к сервису через виртуальный сервис в Istio
Я новичок в istio и у меня есть весь мой код в http://github.com/VenkateshSrini/IstioTest. Я создал сервис, необходимый для хостинга сервиса Kubernetes (istio-test-deployment.yaml
в репо). Я проверил его на рабочем столе докера для Windows (Kubernetes включен), и я получил то же самое, работая правильно. Я выставил свой сервис через порт 5000
, В Docker для Windows внешний Ip всегда localhost.
Теперь, используя istoctl, я создал развернутую машину. Это видно из istio-test-dep-injected.yaml
, Я выполнил это, и сервис был создан с Sidecar. Теперь тот же сервис не доступен через http://localHost:5000
что я считаю правильным
Тогда я пошел дальше и создал виртуальный шлюз. Определение того же самого можно увидеть в virtual-gateway.yaml. Затем я создал виртуальный сервис в соответствии с virtualservice.yaml. В этом я предоставил имя хоста и имя службы Kubernetes и порт как 5000.
Даже после всего этого я не могу получить доступ к Сервису по URL http://localHost/api/version
Может ли кто-нибудь мне помочь, потому что я не нахожу особой помощи в работе с Istio с Docker для Windows
1 ответ
Кажется, вы забыли добавить правило совпадения. Попробуйте добавить следующее 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