невозможно получить доступ к сервису через виртуальный сервис в Istio

Я новичок в istio, и у меня есть весь код в http://github.com/VenkateshSrini/IstioTest. Я создал службу, необходимую для размещения службы Kubernetes (istio-test-deployment.yaml в репо). Я тестировал его на рабочем столе докеров для Windows (с включенным Kubernetes), и он работал правильно. Я выставил свой сервис через порт 5000. В докере для 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


person Venkatesh    schedule 21.12.2018    source источник
comment
Может быть, это связано с правилом match в VirtualService? istio.io/docs/reference/config/istio.networking.v1alpha3 / Можете ли вы просто сопоставить корневую конечную точку?   -  person nurgasemetey    schedule 21.12.2018


Ответы (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
person nurgasemetey    schedule 21.12.2018
comment
Все еще не работает. Я попытался получить доступ к службе с помощью localhost: 31380 / api / version, а затем попробовал localhost: 5000 / api / version, а затем попробовал localhost / api / version, но все еще не работал. Я попытался даже указать хост как istio-test.istio-apps.svc.local и даже localhost, который также не работал. Сильно застрял - person Venkatesh; 25.12.2018
comment
Кроме того, я вижу это в журналах модулей Ошибка сервера (BadRequest): для модуля istio-test-5744c6c67d-f676h необходимо указать имя контейнера, выберите один из: [istio-test istio-proxy] или один из контейнеров инициализации: [ istio-init] - person Venkatesh; 25.12.2018
comment
Я также поднял этот вопрос перед командой Istio @ github.com/istio/istio/issues/10568 но и там я не получаю ответа - person Venkatesh; 29.12.2018