Probleme mit Ressourcenlimits in Cloud Service Mesh beheben

In diesem Abschnitt werden häufig auftretende 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: Folgendes:

  • LimitRange-Objekte, die im Namespace istio-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 der Steuerungsebene durch den Fehler Envoy proxy NOT ready gekennzeichnet. 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 Status STALE 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 Status OOMKilled angezeigt.

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:

  1. Wenn Ihre Monitoring-Tools (prometheus, Stackdriver usw.) eine hohe Auslastung einer Ressource um istiod anzeigen, erhöhen die Zuweisung dieser Ressource, z. B. das Erhöhen des CPU- oder Arbeitsspeicherlimits der Bereitstellung istiod. Dies ist eine temporäre Lösung. Wir empfehlen Ihnen, Methoden zur Reduzierung des Ressourcenverbrauchs zu überprüfen.

  2. Wenn dieses Problem bei einem großen Cluster oder einer großen Bereitstellung auftritt, reduzieren Sie Konfigurationsstatus an jeden Proxy gesendet, indem er Sidecar-Ressourcen

  3. Wenn das Problem bei einem clusterinternen Cloud Service Mesh weiterhin besteht, versuchen Sie, istiod horizontal zu skalieren.

  4. 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, Anzahl der Pods und der Anzahl der Dienste.