Открыть внешний порт в Istio - проблема только на Docker-для-Mac - PullRequest
0 голосов
/ 05 сентября 2018

Обновление: эта проблема только на Docker-для-Mac

Я уже давно гоняюсь за этим - как открыть внешний порт в Istio.

Обратите внимание, что все это работает на port 80, почему не на port 8080?

Используя helm, я изменил значение в values.yaml шлюзах:

- port: 80
  targetPort: 80
  name: http2
  # nodePort: 31380
- port: 8080
  targetPort: 8080
  name: http2-testport
  # nodePort: 31480  

Я создал шлюз Istion:

# Istio - Gateway
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: helloworld-gateway
spec:
  selector:
    istio: ingressgateway # use istio default controller
  servers:
  - port:
      number: 80
      name: http-80
      protocol: HTTP
    hosts:
    - "my-service.default.svc.cluster.local"

  - port:
      number: 8080
      name: http-8080
      protocol: HTTP
    hosts:
    - "my-service.default.svc.cluster.local"

Порт 8080 открыт: kubectl get svc -n istio-system

istio-ingressgateway       LoadBalancer   10.106.146.89    localhost     80:31342/TCP,443:31390/TCP,31400:31400/TCP,15011:31735/TCP,8060:32568/TCP,8080:32164/TCP,853:30443/TCP,15030:

1 Ответ

0 голосов
/ 05 сентября 2018

Вы должны определить VirtualService, чтобы указать, куда (на какой микросервис) должен быть направлен входной трафик, см. https://istio.io/docs/tasks/traffic-management/ingress/#configuring-ingress-using-an-istio-gateway.

Также попробуйте отправить заголовок Host с вашим запросом, например, с curl -H хостом: my-service.default.svc.cluster.local.

См. https://github.com/istio/istio.github.io/pull/2181.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...