
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.