Risoluzione dei problemi dei proxy sidecar in Anthos Service Mesh

Questa sezione illustra i problemi comuni dei proxy collaterali di Anthos Service Mesh e come risolverli. Se hai bisogno di ulteriore aiuto, vedi Ricevere assistenza.

Il container istio-proxy è stato 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. Per impostazione predefinita, il container collaterale istio-proxy ha dei limiti di risorse. Se il container istio-proxy viene interrotto con Reason: OOMKilled, è necessario capire perché Envoy sta consumando la memoria.

Se stai affrontando un'interruzione della produzione, una rapida soluzione 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 solo per tali carichi di lavoro aggiungendo le seguenti annotazioni.

  • sidecar.istio.io/proxyMemory
  • sidecar.istio.io/proxyMemoryLimit

Assicurati che non siano presenti limiti inferiori ai valori predefiniti.

La soluzione a lungo termine è ridurre l'ingombro della memoria dei container collaterali istio-proxy. Per impostazione predefinita, tutti i proxy sidecar sono programmati con la configurazione necessaria per raggiungere qualsiasi altra istanza di carico di lavoro nel mesh. Istio fornisce la definizione delle risorse personalizzateSidecar per limitare il numero di endpoint programmati per i proxy sidecar, riducendo di conseguenza il consumo di memoria del container istio-proxy.