usługa równoważenia obciążenia http (s) google cloud zwraca 502 pomimo prawidłowej obsługi wewnętrznej bazy danych

11

Mam moduł równoważenia obciążenia GCE http skonfigurowany do kierowania ruchu do 2 backendów: - domyślnego backendu - drugiego backendu z osobną regułą hosta / path ( <host>:/*)

Oba backendy istnieją w tej samej grupie instancji - klastrze kontenerów z dwiema usługami kubernetes, które udostępniają różne NodePort.

Grupa instancji ma dwa nazwane porty, po jednym dla każdego z odsłoniętych portów NodePort.

Pomimo, że oba backendy zgłaszają sprawność, wszystkie żądania do drugiego backendu zwracają 502.

Same usługi nie stanowią problemu - jeśli przełączę usługę za drugi backend na domyślny, działa dobrze.

UWAGA : Znacząco zaktualizowałem / uprościłem ten opis od czasu jego pierwszego opublikowania, ponieważ jestem w stanie odtworzyć problem z dużo prostszą konfiguracją.

jastrząb
źródło
Odpowiedzi w tym wydaniu Google wskazują na to, że jest to config. problem z regułą host / ścieżka.
hawkett

Odpowiedzi:

4

Ruch z modułu równoważenia obciążenia do instancji nie jest domyślnie włączony. Niestety nie jest to dobrze udokumentowane i naprawdę, kiedy tworzysz moduł równoważenia obciążenia, powinno to nastąpić automatycznie.

Spróbuj dodać tę regułę zapory sieci, w której działa moduł równoważenia obciążenia i maszyny wirtualne:

130.211.0.0/22   tcp:1-5000   Apply to all targets
Tyguy7
źródło
1
Problemem nie jest reguła zapory - usługi działają indywidualnie. Z odpowiedzi na problem z Google zanotowany w komentarzu OP wygląda na problem z konfiguracją reguły host / ścieżka.
hawkett