Istiod-Skalierungsprobleme 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.

Skalierungsfaktoren

Istiod sendet die Konfiguration mithilfe eines langlebigen gRPC-Streams an jede Sidecar-Datei. Sie hat mehrere Merkmale, die sich auf die Skalierung auswirken:

  • Die Größe der zu generierenden Konfiguration:
    • Gesamtzahl der Dienste/Pods und Istio-Ressourcen.
    • Passen Sie bei der Verwendung von Istiod im großen Maßstab die Einstellungen für die Sidecar-Datei an, um die Konfiguration zu verkleinern.
  • Die Änderungsrate in der Umgebung:
    • Wenn ein neuer Dienst erstellt oder die Istio-Konfiguration geändert wird, werden vollständige Aktualisierungen an Proxys gesendet.
    • Das Hinzufügen neuer Endpunkte beeinträchtigt die Leistung nur wenig, da nur inkrementelle Aktualisierungen gesendet werden.
  • Die Anzahl der Proxys, für die eine Konfiguration generiert wird:
    • Wird von der Anzahl der Gateways und Pods mit einer Sidecar-Datei beeinflusst.

Aspekte bei der Skalierung

Istiod lässt sich gut skalieren, sowohl vertikal (große Anfragen) als auch horizontal (mehr Replikate). Achten Sie darauf, dass die CPU-Limits nicht zu restriktiv sind. Wenn Istiod das CPU-Limit erreicht, kann eine Drosselung auftreten, was sich negativ auf die Konfigurationsverteilung auswirkt. Bei Leistungsproblemen sollten Sie eventuell ein Upgrade auf die neueste Version von Cloud Service Mesh durchführen, da jede Version Leistungsoptimierungen beinhaltet.

Unausgeglichene Last

Große Änderungen der Clustergröße können aufgrund der langlebigen Verbindungen eine vorübergehend unausgeglichene Last verursachen. Dies wird durch eine maximale Verbindung von 30 Minuten abgemildert. Das kann zu Fehlermeldungen in Envoy führen, z. B. gRPC config stream closed: 13, wodurch die Last auf natürliche Weise ausgeglichen werden kann.

Sie können dieses Problem auch abmildern, indem Sie mehrere Replikate von Istiod verwenden (Standardeinstellung ist 2 Replikate) und eine Vorskalierung durchführen, wenn Sie extreme vertikale Skalierungen erwarten.