Istio

Eine offene Plattform zum Verbinden, Überwachen und Schützen von Mikrodiensten. Hinweis: Ein Teil der in diesem Dokument verlinkten Inhalte ist nur auf Englisch verfügbar.

Übersicht

Istio ist ein unabhängiges Open-Source-Netzwerk für Dienste, das die wichtigsten Funktionen bietet, die Sie benötigen, um eine verteilte Mikrodienst-Architektur erfolgreich zu betreiben. Unternehmen setzen zunehmend Cloudplattformen ein. Daher müssen Entwickler beim Erstellen von Architekturen ihren Fokus auf Übertragbarkeit legen. Dies gelingt mithilfe von Mikrodiensten. Betreiber dagegen müssen große, verteilte Bereitstellungen verwalten, die von Hybrid- bis zu Multi-Cloudumgebungen reichen. Durch Istios einheitliche Methode, Mikrodienste zu schützen, zu verbinden und zu überwachen, wird das Verwalten von Mikrodienst-Bereitstellungen leichter.

Sicherheit in Istio

Dank Istio müssen sich Ihre Entwickler weniger mit sicherheitsbezogenen Aspekten beschäftigen, sodass mehr Zeit für andere wichtige Aufgaben bleibt.

Monitoring in Istio

Mit einem robusten, einfach zu bedienenden Monitoring-System erkennen und beheben Sie Probleme schnell und effektiv.

Verbindungen in Istio

Istio vereinfacht die Traffic-Verwaltung, wenn Ihre Bereitstellung wächst.

Aufgrund der erhöhten Transparenz unserer Anwendungen wurde die ggf. zur Problembehebung erforderliche Zeit erheblich reduziert. Die Verwendung von Istio in K8s gibt uns die Sicherheit, dass wir unsere Anwendungen sicher in die öffentliche Cloud migrieren und die Zuverlässigkeit, Stabilität und Leistung unserer Plattform erhöhen können.

Russell Warman, Head of Infrastructure bei AutoTrader
Dienstkommunikation sichern

Dienstkommunikation sichern

Istio verwaltet die Authentifizierung, Autorisierung und Verschlüsselung der Kommunikation zwischen Mikrodiensten auf skalierbare Weise. Istio bietet außerdem den zugrunde liegenden sicheren Kommunikationskanal, sodass sich Entwickler auf die Sicherheit auf Anwendungsebene konzentrieren können.

Dienstkommunikation

Sichere Kommunikation

Istio erhöht die Sicherheit von Mikrodiensten und ihrer Kommunikation – sowohl zwischen Diensten als auch zwischen Endnutzer und Dienst. Änderungen am Dienstcode sind dabei nicht erforderlich. So erhält jeder Dienst eine starke, auf seiner Rolle basierende Identität, um Interoperabilität über Cluster und Clouds hinweg zu ermöglichen.

Gestaffelte Sicherheitsebenen

Gestaffelte Sicherheitsebenen

Wenn Sie Istio mit Kubernetes-Netzwerkrichtlinien (oder Infrastruktur-Netzwerkrichtlinien) verwenden, ist die Kommunikation zwischen Pods und zwischen Diensten sowohl auf Netzwerk- als auch auf Anwendungsebene gesichert. Bauen Sie zum Sichern der Mikrodienstkommunikation auf die Strategie der gestaffelten Sicherheitsebenen von Google. Wenn Sie mit Istio in der Google Cloud arbeiten, erhalten Sie mit der Infrastruktur von Google eine wirklich sichere Anwendungsumgebung.

Standardmäßig sicher

Standardmäßig sicher

In Istio wird durch keine bis wenige Anwendungsänderungen dafür gesorgt, dass die Dienstkommunikation standardmäßig gesichert ist und Sie diese Richtlinien konsistent über verschiedene Protokolle und Laufzeiten hinweg umsetzen können.

Logging

Logging und Monitoring sowie Aufrechterhalten des Dienstbetriebs

Istio liefert durch Tracing, Monitoring und Logging detaillierte Informationen zu Ihrer Netzwerkumgebung. Sie können beobachten, welche Leistung die Dienste bringen und wie sich diese auf andere Prozesse auswirkt. Außerdem können Sie Probleme schnell und effektiv erkennen und beheben.

Umfassender Überblick

Umfassender Überblick

Die benutzerdefinierten Dashboards in Istio bieten einen umfassenden Überblick über das Verhalten all Ihrer Dienste, sodass Sie Probleme schnell erkennen und effektiv lösen können.

Dienst verstehen

Leistung des Dienstes verstehen

Mit den Monitoring-Funktionen von Istio erhalten Sie Informationen darüber, wie sich die Leistung von Diensten auf vorgelagerte und nachgelagerte Vorgänge auswirkt. So können Sie Service Level Objectives (SLOs) für Dienste effektiver einrichten, überwachen und durchsetzen.

Messwerte

Messwerte können bedarfsgerecht abgerufen werden

Rufen Sie einheitliche Messwerte und Traces für beliebige laufende Anwendungen ab, ohne dass Entwickler ihre Anwendungen manuell instrumentieren müssen.

Traffic-Verwaltung

Traffic-Verwaltung und Richtlinienkontrolle

Mit der Traffic-Verwaltung von Istio steuern Sie den Traffic und die API-Aufrufe zwischen Diensten. Sie erhalten einen besseren Einblick in Ihren Traffic, sodass Sie Auffälligkeiten erkennen können, bevor sie zu Problemen werden. Dadurch werden Aufrufe zuverlässiger und Ihr Netzwerk wird selbst bei ungünstigen Bedingungen robuster.

Einfache Regelkonfiguration

Einfache Regelkonfiguration

Mit Istio können Sie Attribute auf Dienstebene wie Unterbrechungen der Netzwerkverbindung, Zeitlimits und Neuversuche konfigurieren und häufige Aufgaben im Rahmen der kontinuierlichen Bereitstellung wie Canary-Release-Einführungen, A/B-Tests und gestaffelte Einführungen mit prozentbasierten Traffic-Aufteilungen einrichten.

Inhalte umleiten

Inhalte benutzerdefiniert umleiten

Sie geben die Regeln an, die für den Traffic gelten sollen. Dadurch können Sie Traffic unabhängig davon, wie viele Instanzen eine Dienstversion unterstützen, an diese Version weiterleiten. Sie können beispielsweise festlegen, dass fünf Prozent des gesamten Traffics an eine bestimmte Canary-Version weitergeleitet werden oder der Traffic basierend auf dem Inhalt der Anfrage an eine bestimmte Version weitergeleitet wird.

Wiederherstellung nach Fehlern

Wiederherstellung nach Fehlern inklusive

Robuste Wiederherstellung nach Fehlern gehört ebenfalls dazu – einschließlich Zeitlimits, Neuversuche mit Zeitlimitrahmen und variablem Jitter, Limits für gleichzeitige Verbindungen und Anfragen an vorgelagerte Dienste, regelmäßige aktive Systemdiagnosen für jedes Mitglied eines Lastenausgleich-Pools und passive Systemdiagnosen, z. B. genau steuerbare Unterbrechungen der Netzwerkverbindung.

Sicherheitsfunktionen von Istio

Starke Dienstauthentifizierung

Durch die Istio-Authentifizierung kann auf Dienste mit sensiblen Daten nur über Clients mit starker Authentifizierung und Autorisierung zugegriffen werden.

Authentifizierungsrichtlinie

Mit der Konfigurationsrichtlinie von Istio wird die Plattformauthentifizierung serverseitig konfiguriert. Auf der Clientseite wird die Richtlinie jedoch nicht erzwungen, sodass Sie benutzerdefinierte Authentifizierungsanforderungen für Dienste festlegen können.

Rollenbasierte Zugriffssteuerung (RBAC – Role-based Access Control)

Die RBAC in Istio bietet für die Dienste im Istio-Netzwerk Zugriffssteuerung auf Namespace-, Dienst- und Methodenebene. Istio bietet benutzerfreundliche, rollenbasierte Semantik sowie Autorisierung zwischen Diensten und auch zwischen Endnutzer und Dienst. Darüber hinaus werden für mehr Flexibilität benutzerdefinierte Attribute für Rollen und Rollenbindungen unterstützt.

Gegenseitige TLS-Authentifizierung

Istio erhöht die Sicherheit von Mikrodiensten und ihrer Kommunikation – sowohl zwischen Diensten als auch zwischen Endnutzer und Dienst. Änderungen am Dienstcode sind dabei nicht erforderlich. Istio verleiht jedem Dienst eine starke, auf seiner Rolle basierende Identität, um Interoperabilität über Cluster und Clouds hinweg zu ermöglichen.

Schlüsselverwaltung

In Istio wird die Generierung, Verteilung, Rotation und Sperrung von Schlüsseln und Zertifikaten mithilfe eines Schlüsselverwaltungssystems automatisiert.

Monitoring-Funktionen von Istio

Back-End-Abstraktion

Mixer – die Istio-Komponente zum Steuern von Richtlinien und Erfassen von Telemetriedaten – isoliert die Istio-Komponenten von den Implementierungsdetails einzelner Infrastruktur-Back-Ends.

Vermittlung

Mixer ermöglicht Ihnen eine fein abgestufte Kontrolle über alle Interaktionen zwischen dem Netzwerk und den Infrastruktur-Back-Ends.

Niedrige Latenz

Mixer ist unabhängig – im Gegensatz zu Sidecar-Proxys, die sich neben jeder Dienstinstanz eines Netzwerks befinden und nur wenig Speicherplatz verbrauchen dürfen. Daher kann er mit deutlich größeren Caches und Ausgabepuffern arbeiten und für die Sidecars als hochskalierter und hochverfügbarer Cache zweiter Ebene fungieren.

Hohe Zuverlässigkeit

Mixer bietet Hochverfügbarkeit für jede einzelne Mixer-Instanz. Seine lokalen Caches und Puffer reduzieren die Latenz, helfen aber auch beim Kompensieren von Infrastruktur-Back-End-Fehlern, da sie selbst dann noch funktionieren, wenn ein Back-End nicht mehr reagiert.

Verbindungsfunktionen von Istio

Traffic-Verwaltung und Infrastrukturskalierung entkoppeln

Durch das Entkoppeln von Traffic-Verwaltung und Infrastrukturskalierung können Funktionen angeboten werden, die über den Anwendungscode hinausgehen. Dazu zählen das dynamische Anfragerouting für A/B-Tests sowie schrittweise Rollouts und Canary-Releases. Außerdem ist die Wiederherstellung nach Fehlern mithilfe von Zeitlimits, Neuversuchen und Unterbrechungen der Netzwerkverbindung möglich. Weiterhin lassen sich die Wiederherstellungsrichtlinien mithilfe von Fehlereinfügung auf ihre dienstübergreifende Kompatibilität testen.

Fehlereinfügung

Da falsch konfigurierte Richtlinien für die Wiederherstellung nach Fehlern dazu führen können, dass wichtige Dienste einer Anwendung für längere Zeit nicht verfügbar sind, sind Tests der durchgängigen Wiederherstellung nach Fehlern von entscheidender Bedeutung. Istio ermöglicht es, protokollspezifische Fehler in das Netzwerk einzufügen, anstatt Pods zu löschen oder das Versenden von Paketen auf der TCP-Ebene zu verzögern oder diese zu beschädigen.

Lastenausgleich

In Istio können derzeit drei der von Envoy unterstützten Lastenausgleichsmodi verwendet werden: Round-Robin (jeder intakte Upstream-Host wird in Round-Robin-Reihenfolge ausgewählt), Random (Zufall; das zufällig ausgewählte Lastenausgleichsmodul wählt nach dem Zufallsprinzip einen intakten Host aus) und Weighted Least Request (Wenigste gewichtete Anfragen).

Durch den wachsenden Erfolg von Mikrodiensten und deren zunehmende Nutzung für Arbeitslasten wird es immer schwieriger, jederzeit den Überblick zu behalten, wer welche Mikrodienste ausführt. Istio bietet sofort nach der Bereitstellung detaillierte Transparenz und Informationen zu unseren Diensten in Echtzeit – und dies in einheitlicher Form, ungeachtet der Sprache, auf der unsere Dienste basieren. Dank dieser konsistenten Transparenz können wir Probleme schneller beheben und unsere Dienste robuster machen.

Tim Kelton, Mitgründer von Descartes Labs

Dokumentation

Istio mit Compute Engine

Integrieren Sie Compute Engine-VMs in ein in Kubernetes Engine bereitgestelltes Istio-Netzwerk.

Istio-Repository

Unterstützen Sie die Weiterentwicklung von Istio durch einen Beitrag zur Codebasis der Open-Source-Software.

Ressourcen

Sehen Sie sich Anleitungen an, führen Sie Schnellstarts durch und lesen Sie Berichte.

Aktuellen Release von Istio herunterladen

Schnellstartanleitungen für Istio mit Kubernetes, Nomad, Consul oder Eureka

Istio für Google Cloud Endpoints-Dienste einrichten

Beispiel-App bereitstellen, um die Funktionsweise des Istio-Netzwerks für Dienste besser kennen zu lernen

Über die neuesten Funktionen von Istio informiert bleiben

Detaillierte Informationen zu Befehlszeilen- und Konfigurationsoptionen

Integrationen

Enterprise Support für Istio

Google Cloud bietet Enterprise Support für lokale Bereitstellungen ebenso wie GCP-fremde Cloudbereitstellungen von Istio an. Dabei gibt es unterschiedliche Supportstufen, um mehr Flexibilität bieten zu können. Die Supportangebote umfassen das Bereitstellen von Google-zertifizierten Images zum Testen von Kubernetes-Konfigurationen, das Installieren von VMs, die Wartung und vieles mehr. Im Rahmen zusätzlicher Optionen können auch von Google Cloud-Experten angebotene Dienstleistungen in Anspruch genommen werden.

Apigee API Management für Istio

Wenn Mikrodienste mit den externen Partnern oder Kunden eines Unternehmens oder internen Gruppen kommunizieren müssen, werden sie zu APIs. Google Cloud bietet Apigee API Management für Istio, um eine native Integration der API-Verwaltung mit Mikrodiensten zu ermöglichen. Mit Apigee können Organisationen APIs unabhängig davon sicher verwalten und überwachen, ob diese sich in der Cloud oder vor Ort befinden.