Risoluzione dei problemi di scalabilità dell'App Mesh - AWS App Mesh

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Risoluzione dei problemi di scalabilità dell'App Mesh

Questo argomento descrive i problemi più comuni che potrebbero verificarsi con il ridimensionamento di App Mesh.

La connettività fallisce e i controlli di integrità dei container falliscono quando si scalano oltre 50 repliche per un nodo virtuale/gateway virtuale

Caratteristiche

Quando si ridimensiona il numero di repliche, ad esempio attività Amazon ECS, pod Kubernetes o istanze Amazon EC2, per un nodo virtuale/gateway virtuale oltre 50, i controlli dello stato dei container Envoy per Envoy nuovi e attualmente in esecuzione iniziano a fallire. Le applicazioni downstream che inviano traffico al nodo virtuale/gateway virtuale iniziano a registrare errori nelle richieste con codice di stato HTTP. 503

Risoluzione

La quota predefinita di App Mesh per il numero di Envoys per nodo virtuale/gateway virtuale è 50. Quando il numero di Envoy in esecuzione supera questa quota, gli Envoy nuovi e attualmente in esecuzione non riescono a connettersi al servizio di gestione Envoy di App Mesh con il codice di stato gRPC (). 8 RESOURCE_EXHAUSTED Questa quota può essere aumentata. Per ulteriori informazioni, consulta Quotazioni di App Mesh Controller.

Se il problema persiste, valuta la possibilità di aprirne uno GitHub o di contattare l'AWSassistenza.

Le richieste hanno esito negativo 503 quando il backend di un servizio virtuale viene scalato orizzontalmente o verticalmente

Caratteristiche

Quando un servizio virtuale di backend viene scalato orizzontalmente o internamente, le richieste provenienti dalle applicazioni downstream hanno esito negativo e viene assegnato un codice di stato. HTTP 503

Risoluzione

App Mesh consiglia diversi approcci per mitigare i casi di errore scalando le applicazioni orizzontalmente. Per informazioni dettagliate su come prevenire questi errori, consulta. App Mesh

Se il problema persiste, valuta la possibilità di aprirne uno GitHub o di contattare l'AWSassistenza.

Il contenitore Envoy si blocca con segfault in caso di carico aumentato

Caratteristiche

In caso di carico di traffico elevato, il proxy Envoy si blocca a causa di un errore di segmentazione (codice di uscita di Linux). 139 I log dei processi di Envoy contengono un'istruzione come la seguente.

Caught Segmentation fault, suspect faulting address 0x0"
Risoluzione

Il proxy Envoy ha probabilmente violato il nofile ulimit predefinito del sistema operativo, il limite al numero di file che un processo può avere aperti alla volta. Questa violazione è dovuta al traffico che causa un maggior numero di connessioni, che consumano socket aggiuntivi del sistema operativo. Per risolvere questo problema, aumentate il valore ulimit nofile sul sistema operativo host. Se utilizzi Amazon ECS, questo limite può essere modificato tramite le impostazioni Ulimit nelle impostazioni dei limiti delle risorse della definizione dell'attività.

Se il problema persiste, valuta la possibilità di aprirne uno GitHub o di contattare l'AWSassistenza.

L'aumento delle risorse predefinite non si riflette nei limiti del servizio

Caratteristiche

Dopo aver aumentato il limite predefinito delle risorse App Mesh, il nuovo valore non si riflette quando si esaminano i limiti del servizio.

Risoluzione

Sebbene i nuovi limiti non siano attualmente indicati, i clienti possono comunque esercitarli.

Se il problema persiste, valuta la possibilità di aprirne uno GitHub o di contattare l'AWSassistenza.

L'applicazione si arresta in modo anomalo a causa di un numero enorme di chiamate per i controlli sanitari.

Caratteristiche

Dopo aver abilitato i controlli sanitari attivi per un nodo virtuale, si verifica un aumento del numero di chiamate ai controlli sanitari. L'applicazione si arresta in modo anomalo a causa del notevole aumento del volume di chiamate per il controllo dello stato di salute effettuate all'applicazione.

Risoluzione

Quando il controllo attivo dello stato è abilitato, ogni endpoint Envoy del downstream (client) invia richieste di integrità a ciascun endpoint del cluster upstream (server) per prendere decisioni di routing. Di conseguenza, il numero totale di richieste di controllo dello stato sarebbe * *. number of client Envoys number of server Envoys active health check frequency

Per risolvere questo problema, modificate la frequenza della sonda per i controlli sanitari, in modo da ridurre il volume totale delle sonde per i controlli sanitari. Oltre ai controlli sanitari attivi, App Mesh consente di configurare il rilevamento dei valori anomali come mezzo di controllo passivo dello stato. Utilizza il rilevamento dei valori anomali per configurare quando rimuovere un determinato host in base a risposte consecutive. 5xx

Se il problema persiste, valuta la possibilità di aprirne uno GitHub o di contattare l'AWSassistenza.