0

Ich versuche, einen Load-Balancer direkten Verkehr zu einem Container-Backend zu verwenden. Der Dienst in den Containern hostet den Webdatenverkehr unter port 80. Meine Gesundheitschecks sind alle vorüber. Wenn ich in den Kubernetes-Host für die Container ssh bin, kann ich jeden Container einrollen und korrekte Antworten über port 80 erhalten. Wenn ich versuche, über die externe IP-Adresse des Load Balancers auf sie zuzugreifen, erhalte ich jedoch eine Antwort von 502. Ich habe Firewall-Regeln, die Verkehr von 130.211.0.0/22 auf tcp:1-5000 und auf dem NodePort-Port erlauben. Ich habe auch versucht, Firewall-Regeln von 0.0.0.0/0 Ports 80 und 443 zu diesen Knoten hinzuzufügen.Google Load Balancer nicht vorüberfahrender Ende nach hinten

Wenn im Kubernetes Host, mit tcpdump Erfassung, sehe ich die Gesundheits-Check-Anfragen an meine Container, aber kein Verkehr durch kommt, wenn ich eine externe Anfrage machen.

Ich habe eine identische Konfiguration, die einen einzelnen Compute Engine-VM verweist, die perfekt funktioniert. Dies führt zu der Annahme, dass das Problem eher im Container-Setup als im Load-Balancer liegt.

Hat jemand einen Rat dieses Problem zu lösen?

+0

Sind Sie ein Objekt Eindringen oder haben konfigurieren Sie die Load-Balancer manuell? Sie können versuchen, ein Ingress-Objekt zu verwenden und die Konfiguration, die es erzeugt, mit dem zu vergleichen, was Sie gerade haben, um zu sehen, ob etwas offensichtlich ist, das anders ist. –

Antwort

1

Ich war in der Lage, das Problem zu lösen, indem die benannten Port ändert, dass der Load Balancer wurde verbindet. Standardmäßig ist der Load Balancer mit dem Named Port "http" verbunden, der auf Port 80 zeigt. Es war meine Annahme (immer eine schlechte Sache), dass dies passierte, da meine Anwendung auf Port 80 läuft. Nicht so. Da ich die Container über NodePort verfügbar gemacht hatte, wurde ihm ein anderer Port zugewiesen. Dies ist der Port, auf den ich meinen Health Check gerichtet habe. Wenn ich "Compute Engine -> Instanzgruppen" auswähle, die Gruppe auswählend und dann "Gruppe bearbeiten", konnte ich den benannten Port "http" ändern, um meiner NodePort-Nummer zu entsprechen. Sobald ich das tat, begann der Verkehr zu fließen.

Verwandte Themen