Risolvere i problemi relativi ai proxy sidecar in Anthos Service Mesh
Questa sezione spiega i problemi comuni relativi ai proxy collaterali di Anthos Service Mesh e come risolverli. Se hai bisogno di ulteriore assistenza, vedi la sezione Richiedere assistenza.
Il container istio-proxy
viene interrotto a causa di un evento OOM
In questa sezione supponiamo che il container istio-proxy
non venga interrotto da un evento SystemOOM
e che il nodo Kubernetes non sia in condizione MemoryPressure
.
Il contenitore collaterale istio-proxy
ha i limiti delle risorse per impostazione predefinita.
Se il container istio-proxy viene terminato con Reason: OOMKilled
, è necessario
capire perché Envoy consuma la memoria.
Se si verifica un'interruzione della produzione, una soluzione rapida consiste nell'aumentare i limiti per tutti i container che utilizzano IstioOperator
:
---
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
values:
global:
proxy:
resources:
requests:
memory: 128Mi
limits:
memory: 1Gi
Se stai riscontrando questo problema con carichi di lavoro specifici, puoi modificare il limite relativo a questi carichi di lavoro aggiungendo le annotazioni riportate di seguito.
sidecar.istio.io/proxyMemory
sidecar.istio.io/proxyMemoryLimit
Assicurati di non avere limiti inferiori ai valori predefiniti.
La soluzione a lungo termine è ridurre l'impatto della memoria dei container istio-proxy
collaterali. Per impostazione predefinita, tutti i proxy sidecar sono programmati con la configurazione necessaria per raggiungere qualsiasi altra istanza del carico di lavoro nel mesh.
Istio fornisce la definizione di risorsa personalizzata Sidecar
per limitare il numero di endpoint programmati ai proxy sidecar, riducendo quindi il consumo di memoria del container istio-proxy
.