打开一个外部端口进入Istio - 仅在docker-for-mac上出现问题

问题描述 投票:0回答:1

更新:此问题仅适用于docker-for-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:
kubernetes gateway istio docker-for-mac
1个回答
1
投票

您必须定义一个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

© www.soinside.com 2019 - 2024. All rights reserved.