我已经通过官方头盔图在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
答案 0 :(得分:0)
在您的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
---
答案 1 :(得分:0)
现在正在工作。 我很笨,我必须在网关定义中定义端口80,而不是任何随机端口,以便在端口80上的istio-ingressgateway上启动侦听器。 我不敢这样做是为了不路由已经传入istio入口的任何其他流量。 感谢您的帮助。