NodePort-Kommunikation zwischen Knoten funktioniert nicht

NodePort-Kommunikation zwischen Knoten funktioniert nicht

Ich habe einen 4-Knoten-Cluster mit einem NodePort-Dienst, der von Port 80 bis Port 30871 verfügbar ist. Ich kann auf jedem Knoten mit dem Hostnamen des Knotens auf den Dienst zugreifen, z. B.:

curl http://hostname1:30871 auf dem Knoten hostname1

funktioniert wie erwartet. Dasselbe gilt für

curl http://hostname2:30871 auf dem Knoten hostname2

Ich würde erwarten, dass der Dienst von anderen Knoten aus erreichbar ist. Allerdings läuft

curl http://hostname1:30871

vom Knoten Hostname2 führt zu einem Verbindungstimeout-Fehler. Dasselbe passiert, wenn ich die IPs verwende. Ich verwende Flannel für das Netzwerk und es befindet sich auf einem Bare-Metal-CentOS-Cluster, Kubernetes 1.20.

Ich kann von jedem Knoten aus über die ClusterIP auf den Dienst zugreifen.

curl http://Cluster-IP-Adresse:80

Funktioniert einwandfrei für alle Knoten.

Alle Firewalls sind geöffnet und funktionieren getestet. Dasselbe passiert bei Maschinen außerhalb des Clusters. Auch hier würde ich erwarten, von überall auf http://hostname1:30871 zugreifen zu können, aber es tritt das gleiche Timeout-Problem auf.

verwandte Informationen