更新:这个问题只出现在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:发布于 2018-09-05 16:35:42
您必须定义一个VirtualService来指定入口流量必须定向到何处(到哪个微服务),请参见https://istio.io/docs/tasks/traffic-management/ingress/#configuring-ingress-using-an-istio-gateway。
还要尝试将主机标头与您的请求一起发送,例如使用curl -H主机:my-service.default.svc.cluster.local。
https://stackoverflow.com/questions/52179922
复制相似问题