bilanciamento del carico http (s) di google cloud che restituisce 502 nonostante un servizio back-end sano


11

Ho un bilanciamento del carico http (s) GCE configurato per indirizzare il traffico verso 2 back-end: - il back-end predefinito - un secondo back-end con una regola host / percorso separata ( <host>:/*)

Entrambi i backend esistono sullo stesso gruppo di istanze: un cluster contenitore che esegue due servizi kubernetes che espongono NodePort diverso.

Il gruppo di istanze ha due porte denominate, una per ciascuna delle NodePorts esposte.

Nonostante entrambi i back-end stiano riportando in buona salute, tutte le richieste al secondo back-end restituiscono 502.

I servizi stessi non sono il problema - se cambio il servizio dietro il 2o backend in modo che sia predefinito, funziona bene.

NOTA : ho aggiornato / semplificato questa descrizione considerevolmente da quando è stata pubblicata per la prima volta, poiché sono in grado di riprodurre il problema con una configurazione molto più semplice.



Le risposte a questo problema di Google indicano che si tratta di una configurazione. problema con la regola host / percorso.
Hawkett,

Risposte:


4

Il traffico dal bilanciamento del carico all'istanza non è abilitato per impostazione predefinita. Purtroppo questo non è ben documentato e, in realtà, quando si crea un bilanciamento del carico, ciò dovrebbe avvenire automaticamente.

Prova ad aggiungere questa regola del firewall alla rete su cui si trovano il bilanciamento del carico e le macchine virtuali:

130.211.0.0/22   tcp:1-5000   Apply to all targets

1
Il problema non è la regola del firewall: i servizi funzionano individualmente. Dalle risposte al problema google annotato nel commento OP, sembra un problema di configurazione sulla regola host / percorso.
Hawkett,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.