istio-ingressgateway的NodePort服务返回连接被拒绝

时间:2019-11-13 09:13:46

标签: kubernetes istio

我已经通过官方头盔图在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

2 个答案:

答案 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入口的任何其他流量。 感谢您的帮助。