Probleme mit Sidecar-Proxys in Cloud Service Mesh beheben
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
In diesem Abschnitt werden häufig auftretende Probleme mit Cloud Service Mesh-Sidecar-Proxys und deren Behebung erläutert. Weitere Informationen finden Sie unter Support.
Der istio-proxy
-Container wurde aufgrund eines OOM-Ereignisses beendet
In diesem Abschnitt wird davon ausgegangen, dass der Container istio-proxy
nicht von einem SystemOOM
-Ereignis beendet wird und sich der Kubernetes-Knoten nicht in der Bedingung MemoryPressure
befindet.
Für den Sidecar-Container istio-proxy
gelten standardmäßig Ressourcenlimits.
Wenn der „istio-proxy”-Container mit Reason: OOMKilled
beendet wird, müssen Sie wissen, warum Envoy den Speicher beansprucht.
Bei einem Produktionsausfall können Sie die Limits für alle Container mit IstioOperator
schnell erhöhen:
---
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
values:
global:
proxy:
resources:
requests:
memory: 128Mi
limits:
memory: 1Gi
Wenn dieses Problem bei bestimmten Arbeitslasten auftritt, können Sie das Limit nur für diese Arbeitslasten ändern. Fügen Sie dazu die folgenden Annotationen hinzu.
sidecar.istio.io/proxyMemory
sidecar.istio.io/proxyMemoryLimit
Achten Sie darauf, dass keines der Limits niedriger ist als der Standardwert.
Die langfristige Lösung besteht darin, den Arbeitsspeicherbedarf Ihrer istio-proxy
-Sidecar-Container zu reduzieren. Standardmäßig sind alle Sidecar-Proxys mit der erforderlichen Konfiguration programmiert, um eine beliebige andere Arbeitslastinstanz im Mesh zu erreichen.
Istio bietet die benutzerdefinierte Ressourcendefinition Sidecar
, um die Anzahl der auf Sidecar-Proxys programmierten Endpunkte zu begrenzen und damit den Speicherverbrauch des istio-proxy
-Containers zu reduzieren.