google cloud http (s) load balancer mengembalikan 502 meskipun layanan backend sehat

11

Saya punya penyeimbang beban GCE http yang dikonfigurasi untuk mengarahkan lalu lintas ke 2 backend: - backend default - backend kedua dengan aturan host / path yang terpisah ( <host>:/*)

Kedua backend ada di grup instance yang sama - cluster kontainer yang menjalankan dua layanan kubernetes yang mengekspos NodePort yang berbeda.

Grup instance memiliki dua port bernama, satu untuk masing-masing NodePorts yang terbuka.

Meskipun kedua backend melaporkan sehat, semua permintaan ke backend kedua kembali 502.

Layanan itu sendiri bukan masalah - jika saya mengganti layanan di belakang backend 2 menjadi default, itu berfungsi dengan baik.

CATATAN : Saya telah memperbarui / menyederhanakan deskripsi ini sejak pertama kali diposting, karena saya dapat mereproduksi masalah dengan konfigurasi yang jauh lebih sederhana.

Hawkett
sumber
1
Saya telah mengangkat masalah di sini: code.google.com/p/google-compute-engine/issues/detail?id=254
hawkett
Tanggapan dalam masalah google ini menunjukkan bahwa ini adalah konfigurasi. masalah dengan aturan host / path.
hawkett

Jawaban:

4

Lalu lintas dari penyeimbang beban ke instance Anda tidak diaktifkan secara default. Sayangnya ini tidak didokumentasikan dengan baik, dan sungguh, ketika Anda membuat penyeimbang beban ini harus terjadi secara otomatis.

Coba tambahkan firewall ini untuk mengatur jaringan penyeimbang beban dan VM Anda:

130.211.0.0/22   tcp:1-5000   Apply to all targets
Tyguy7
sumber
1
Masalahnya bukan aturan firewall - layanan bekerja secara individual. Dari respons dalam masalah google yang tercantum dalam komentar OP, sepertinya masalah konfigurasi pada aturan host / path.
hawkett