Ich habe einen GCE http (s) Load Balancer, der so konfiguriert ist, dass er Datenverkehr auf 2 Backends leitet: - das Standard-Backend - ein zweites Backend mit einer separaten Host- / Pfadregel ( <host>:/*
)
Beide Backends befinden sich in derselben Instanzgruppe - einem Containercluster, in dem zwei Kubernetes-Dienste ausgeführt werden, die unterschiedliche NodePort verfügbar machen.
Die Instanzgruppe verfügt über zwei benannte Ports, einen für jeden der exponierten NodePorts.
Obwohl beide Backends fehlerfrei sind, geben alle Anforderungen an das zweite Backend 502 zurück.
Die Dienste selbst sind nicht das Problem - wenn ich den Dienst hinter dem 2. Backend auf Standard stelle, funktioniert es einwandfrei.
HINWEIS : Ich habe diese Beschreibung seit ihrer Veröffentlichung erheblich aktualisiert / vereinfacht, da ich das Problem mit einer viel einfacheren Konfiguration reproduzieren kann.
Antworten:
Der Datenverkehr vom Load Balancer zu Ihrer Instanz ist standardmäßig nicht aktiviert. Leider ist dies nicht gut dokumentiert, und wenn Sie einen Load Balancer erstellen, sollte dies automatisch geschehen.
Versuchen Sie, diese Firewall-Regel dem Netzwerk hinzuzufügen, in dem sich Ihr Load Balancer und Ihre VMs befinden:
quelle