Risoluzione dei problemi dei proxy collaterali in Cloud Service Mesh

Questa sezione illustra i problemi comuni dei proxy sidecar di Cloud Service Mesh e come risolverli. Se hai bisogno di ulteriore assistenza, consulta la sezione Ricevere assistenza.

Il contenitore istio-proxy viene interrotto a causa di un evento OOM

In questa sezione presupponiamo che il container istio-proxy non venga interrotto da un SystemOOM e il nodo Kubernetes non è in condizione MemoryPressure. Il contenitore sidecar istio-proxy ha per impostazione predefinita limiti di risorse. Se il contenitore istio-proxy viene interrotto con Reason: OOMKilled, è necessario capire perché Envoy sta consumando la memoria.

Se stai riscontrando un'interruzione della produzione, una rapida soluzione è 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 su quei carichi di lavoro, aggiungendo annotations.

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

Assicurati che i limiti non siano inferiori ai valori predefiniti.

La soluzione a lungo termine consiste nel ridurre l'ingombro di memoria del tuo istio-proxy container collaterali. 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 di risorsa personalizzata Sidecar limitare il numero di endpoint programmati per proxy collaterali, ridurre il consumo di memoria del container istio-proxy.