Informationen zu Dienstnetzen

Ein Service Mesh ist eine Infrastrukturebene in Ihrer Anwendung, die die Kommunikation zwischen Diensten erleichtert. Service Meshs bieten Ihrer Workloads Funktionen für die Bereiche Datenverkehrsverwaltung, Resilienz, Richtlinien, Sicherheit, sichere Identität und Einblick. Ihre Anwendung ist von diesen Betriebsfunktionen abgekoppelt, während sie vom Service Mesh von der Anwendungsschicht herunter auf die Infrastrukturebene verschoben werden.

Szenarien

Wenn Sie ein Service Mesh verwenden, können Sie Szenarien wie die folgenden ermöglichen:

  • Verschlüsselung des gesamten Datenverkehrs im Cluster: Aktivieren Sie gegenseitiges TLS (mTLS) zwischen angegebenen Diensten im Cluster. Die Verschlüsselung kann auf ein- und ausgehende Daten im Netzwerkumkreis ausgedehnt werden und bietet eine standardmäßig sichere Option, ohne dass Änderungen an Anwendungscode und Infrastruktur erforderlich sind.

  • Canary- und schrittweise Rollouts: Geben Sie Bedingungen an, um einen Teil des Datenverkehrs an eine Reihe neuer Dienste im Cluster zu leiten. Nachdem der Test des Canary-Release erfolgreich abgeschlossen wurde, können Sie die bedingte Weiterleitung entfernen und den Prozentsatz des gesamten Datenverkehrs, der an den neuen Dienst gesendet wird, schrittweise erhöhen. Schließlich wird dann der gesamte Datenverkehr an den neuen Dienst geleitet.

  • Datenverkehrsverwaltung und -manipulation: Erstellen Sie eine Richtlinie für einen Dienst, die den gesamten Datenverkehr auf eine Version eines Diensts von einem bestimmten Ursprung einschränkt, oder eine Richtlinie, die eine Wiederholungsstrategie auf Fehlerklassen zwischen bestimmten Diensten anwendet. Spiegeln Sie während einer Migration oder zum Debuggen von Problemen Livedatenverkehr auf neuen Versionen von Diensten. Fügen Sie in einer Testumgebung Fehler zwischen Diensten ein, um die Resilienz zu testen.

  • Einblick: Verschaffen Sie sich einen Überblick darüber, wie Ihre Dienste miteinander verbunden sind und welcher Datenverkehr zwischen ihnen fließt. Sammeln Sie Metriken, Protokolle und Ablaufverfolgungen für den gesamten Datenverkehr im Cluster, sowohl eingehend als auch ausgehend. Hinzufügen von Funktionen für die verteilte Ablaufverfolgung zu Anwendungen.

Auswahlkriterien

Stellen Sie vor dem Auswählen eines Service Meshs sicher, dass Sie ausreichend mit Ihren Anforderungen und den Gründen für die Installation eines Service Meshs vertraut sind. Untersuchen Sie die folgenden Fragen:

  • Ist ein Eingangsdatencontroller für meine Zwecke ausreichend?: In einigen Fällen reicht es aus, eine Funktion wie A/B-Tests oder die Datenverkehrsaufteilung für eingehenden Datenverkehr zu verwenden, um das gewünschte Szenario zu unterstützen. Erhöhen Sie die Komplexität Ihrer Anwendung nicht, wenn sich daraus keine Vorteile ergeben.

  • Können meine Workloads und meine Umgebung den zusätzlichen Aufwand verarbeiten?: Für alle Komponenten, die zur Unterstützung des Service Meshs benötigt werden, sind Ressourcen wie CPU und Arbeitsspeicher erforderlich. Alle Proxys und die zugehörigen Richtlinienüberprüfungen für Ihren Datenverkehr führen zu höheren Wartezeiten. Falls Sie über Workloads verfügen, die sehr empfindlich auf Wartezeiten reagieren, oder keine zusätzlichen Ressourcen für Service Mesh-Komponenten bereitstellen können, sollten Sie die Verwendung eines Service Meshs erneut überdenken.

  • Erhöht dies die Komplexität unnötig?: Falls der Grund für die Installation eines Service Meshs die Erzielung einer Funktion ist, die nicht unbedingt von entscheidender Bedeutung für das Geschäft bzw. die Betriebsteams ist, sollten Sie abwägen, ob sich die erhöhte Komplexität durch Installation, Wartung und Konfiguration lohnt.

  • Kann für die Einführung ein inkrementeller Ansatz verwendet werden?: Einige Service Meshs, mit denen viele Funktionen bereitgestellt werden, können auch mit einem inkrementellen Ansatz eingeführt werden. Installieren Sie nur die Komponenten, die Sie benötigen, um den Erfolg sicherzustellen. Wenn Sie später feststellen, dass weitere Funktionen erforderlich sind, erkunden Sie diese zu einem späteren Zeitpunkt. Widerstehen Sie der Versuchung, alles gleich am Anfang zu installieren.

Nächste Schritte

Azure Kubernetes Service (AKS) bietet offiziell unterstützte Add-Ons für Istio und Open Service Mesh an:

Es sind auch Service Meshes verfügbar, die von Open-Source-Projekten und Drittanbietern bereitgestellt und häufig mit AKS verwendet werden. Diese Service Meshs sind nicht durch die AKS-Supportrichtlinie abgedeckt.

Weitere Einzelheiten zur Service Mesh Landscape finden Sie unter Layer 5: Service Mesh Landscape.

Weitere Einzelheiten zur Service Mesh-Standardisierungsbestrebungen finden Sie hier: