Probleme mit Ressourcenlimits in Cloud Service Mesh beheben
In diesem Abschnitt werden häufige Cloud Service Mesh-Probleme und deren Behebung erläutert. Weitere Informationen finden Sie unter Support.
Probleme mit Cloud Service Mesh-Ressourcenlimits können folgende Ursachen haben:
LimitRange
-Objekte, die im Namespaceistio-system
oder in einem beliebigen Namespace mit aktivierter automatischer Sidecar-Einfügung erstellt wurden- Zu niedrige benutzerdefinierte Limits
- Knoten mit einem Mangel an freiem Arbeitsspeicher oder anderen Ressourcen
Mögliche Symptome bei Ressourcenproblemen:
- Cloud Service Mesh empfängt wiederholt keine Konfiguration von
istiod
, wie durch FehlerEnvoy proxy NOT ready
. Wenn Sie diesen Fehler einige Male beim Start sehen, ist das normal. Ansonsten ist es jedoch ein Problem. - Netzwerkprobleme bei einigen Pods oder Knoten, die nicht mehr erreichbar sind.
- Für
istioctl proxy-status
wird in der Ausgabe der StatusSTALE
angezeigt. OOMKilled
-Nachrichten in den Logs eines Knotens.- Arbeitsspeichernutzung durch Container:
kubectl top pod POD_NAME --containers
. - Arbeitsspeichernutzung durch Pods in einem Knoten:
kubectl top node my-node
. - Nicht genügend Arbeitsspeicher: Für
kubectl get pods
wird in der Ausgabe der StatusOOMKilled
angezeigt.
Istio-Sidecars benötigen sehr lange, um die Konfiguration zu erhalten
Eine langsame Konfigurationsweitergabe kann auf unzureichende Ressourcen zurückzuführen sein, die istiod
zugewiesen sind oder zu viel Cluster enthalten.
Es gibt mehrere Lösungsansätze für dieses Problem:
Wenn Ihre Monitoringtools (prometheus, stackdriver usw.) eine hohe Auslastung einer Ressource von
istiod
zeigen, erhöhen Sie die Zuweisung dieser Ressource, beispielsweise um das CPU- oder Arbeitsspeicherlimit deristiod
-Bereitstellung zu erhöhen. Dies ist eine temporäre Lösung. Wir empfehlen Ihnen, Methoden zur Reduzierung des Ressourcenverbrauchs zu überprüfen.Wenn dieses Problem in einem großen Cluster/Deployment auftritt, reduzieren Sie den Konfigurationsstatus, der an jeden Proxy gesendet wird, indem Sie Sidecar-Ressourcen konfigurieren.
Wenn das Problem weiterhin besteht, versuchen Sie,
istiod
horizontal zu skalieren.Sollten Sie auch alle anderen Schritte zur Fehlerbehebung ausführen, melden Sie einen Programmfehler, der das Deployment beschreibt, und die beobachteten Probleme. Folgen diesen Schritten um ein CPU-/Speicherprofil in den Fehlerbericht aufzunehmen, detaillierte Beschreibung der Clustergröße, der Anzahl der Pods, der Anzahl der Dienste usw.