我已经通过官方头盔图在kubernetes中部署了istio,但是无法访问istio-ingressgateway的nodeport服务。我的连接被拒绝。
尽管NodePort 31380上有一个侦听器。
$ netstat -plan | grep 31380
tcp6 0 0 :::31380 :::* LISTEN 8523/kube-proxy
此k8s节点上的iptables防火墙不会阻止到31380 / tcp的通信。
我尝试直接从节点连接到127.0.0.1:31380和节点的LAN IP。
任何想法可能有什么问题或如何调试?
最好的问候,rforberger
在您的hello-istio
服务配置中,有端口未配置:
---
apiVersion: v1
kind: Service
metadata:
name: hello-istio
namespace: hello-istio
spec:
selector:
run: hello-istio
ports:
- protocol: TCP
port: 13451
targetPort: 80
---
port
应与部署中的containerPort
相同。并且targetPort
应该与网关中的目标端口号相同。
所以您的服务配置应如下所示:
---
apiVersion: v1
kind: Service
metadata:
name: hello-istio
namespace: hello-istio
spec:
selector:
run: hello-istio
ports:
- protocol: TCP
port: 80
targetPort: 13451
---
现在正在工作。我很愚蠢,我必须在网关定义中定义端口80,而不是任何随机端口,以便在端口80上的istio-ingressgateway上启动侦听器。我不敢这样做是为了不路由已经传入istio入口的任何其他流量。感谢您的帮助。