Event Grid auf Kubernetes mit Azure Arc (Vorschau) - Übersicht

Dieser Artikel vermittelt einen Überblick über Event Grid auf Kubernetes, Anwendungsfälle für dessen Einsatz, verfügbare Funktionen und wie es sich von Azure Event Grid unterscheidet.

Wichtig

Event Grid in Kubernetes mit Azure Arc befindet sich derzeit in der öffentlichen Vorschau. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und ist nicht für Produktionsworkloads vorgesehen. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.

Was ist Event Grid?

Event Grid ist ein Event-Broker, der zur Integration von Arbeitslasten verwendet wird, die Event-gesteuerte Architekturen nutzen. Eine Event-gesteuerte Architektur verwendet Events, um das Auftreten von Systemzustandsänderungen zu übermitteln, und ist ein gängiger Integrationsansatz in entkoppelten Architekturen, wie z. B. solche, die Microservices verwenden. Event Grid bietet ein Pub-Sub-, das auch als Push-Push-Kommunikationsmodell beschrieben wird, bei dem Abonnenten Ereignisse gesendet (gepusht) erhalten und diese Abonnenten nicht unbedingt wissen, welcher Herausgeber die Ereignisse sendet. Dieses Modell steht im Gegensatz zu klassischen Push-Pull-Modellen, wie sie z. B. von Azure Service Bus oder Azure Event Hubs verwendet werden, bei denen Clients Nachrichten von Nachrichtenbrokern pullen und infolgedessen eine stärkere Kopplung zwischen Nachrichtenbrokern und konsumierenden Clients besteht.

Event Grid wird in zwei Editionen angeboten: Azure Event Grid, ein vollständig verwalteter PaaS-Dienst in Azure, und Event Grid in Kubernetes mit Azure Arc, mit dem Sie Event Grid in Ihrem Kubernetes-Cluster unabhängig davon verwenden können, wo dieser bereitgestellt ist, ob lokal oder in der Cloud.

Aus Gründen der Übersichtlichkeit verwenden wir in diesem Artikel den Begriff Event Grid, wenn wir uns unabhängig von der verwendeten Edition auf die allgemeinen Dienstfunktionen beziehen. Wir beziehen uns auf Azure Event Grid, um den auf Azure gehosteten und verwalteten Dienst zu bezeichnen. Aus Gründen der Prägnanz beziehen wir uns auch auf Event Grid in Kubernetes mit Azure Arc als Event Grid in Kubernetes.

Unabhängig davon, welche Edition von Event Grid Sie verwenden, ist ein Ereignisherausgeber vorhanden, der Ereignisse an Event Grid sendet, und mindestens ein Ereignisabonnent, der Endpunkte bereitstellt, an denen er die vom Event Grid gelieferten Ereignisse empfängt. Nicht alle im Event Grid veröffentlichten Ereignisse müssen an alle Ereignisabonnenten geliefert werden. Mit Event Grid können Sie die Ereignisse auswählen, die über eine Reihe von Konfigurationseinstellungen, die in einem Ereignisabonnement definiert sind, an bestimmte Ziele weitergeleitet werden sollen. Sie können Filter in Ereignisabonnements verwenden, um bestimmte Ereignisse an einen Endpunkt oder per Multicast an mehrere Endpunkte weiterzuleiten. Event Grid bietet einen zuverlässigen Liefer-Mechanismus mit Wiederholungslogik. Event Grid basiert auch auf offenen Standards und unterstützt die Cloud Events 1.0-Schemaspezifikation.

Event Grid in Kubernetes mit Azure Arc

Bei Event Grid in Kubernetes mit Azure Arc handelt es sich um ein Angebot, mit dem Sie Event Grid in Ihrem eigenen Kubernetes-Cluster ausführen können. Diese Funktion wird durch die Verwendung von Kubernetes mit Azure Arc-Unterstützung aktiviert. Ein unterstützter Kubernetes-Cluster wird über Kubernetes mit Azure Arc-Unterstützung mit Azure verbunden. Sobald die Verbindung besteht, können Sie Event Grid installieren.

Anwendungsfall

Event Grid in Kubernetes unterstützt verschiedene Ereignis-gesteuerte Integrationsszenarien. Das wichtigste übergreifende Szenario, das unterstützt und als User Story ausgedrückt wird, ist jedoch:

„Als Eigentümer eines Systems, das in einem Kubernetes-Cluster bereitgestellt wird, möchte ich die Zustandsänderungen meines Systems mitteilen, indem ich Ereignisse veröffentliche und das Routing dieser Ereignisse so konfiguriere, dass Ereignishandler, ob unter meiner Kontrolle oder anderweitig, die Ereignisse meines Systems so verarbeiten können, wie sie es für richtig halten.“

Ein Feature, das Sie dabei unterstützt, die obengenannten Anforderungen zu erfüllen: Event Grid-Themen.

Event Grid in Kubernetes auf einen Blick

Aus Benutzersicht besteht Event Grid in Kubernetes aus den folgenden in blau angezeigten Ressourcen:

Resources

  • Ein Thema ist eine Art Eingabekanal, der einen Endpunkt verfügbar macht, an den Herausgeber Events an Event Grid senden.
  • Beim Ereignisabonnementen handelt es sich um eine Ressource, die Konfigurationseinstellungen zum Filtern und Weiterleiten von Ereignissen an ein Ziel enthält, an das die Ereignisse geliefert werden.
  • Ein Ereignis ist die Ankündigung einer Zustandsänderung.
  • Beim Ereignishandler handelt es sich um eine Anwendung oder einen Dienst, der Ereignisse empfängt und auf die Ereignisse in irgendeiner Weise reagiert oder sie verarbeitet. Manchmal bezeichnen wir Ereignishandler auch als Ereignisabonnenten. Im Diagramm sind die Ereignishandler die in einem Kubernetes-Cluster (K8s) und im Azure Service Bus-Dienst bereitgestellten APIs.

Weitere Informationen zu diesen Konzepten finden Sie unter Concepts in Azure Event Grid (Konzepte in Azure Event Grid).

Beispielszenarien und Ziele der Workload-Integration

Sie können Workloads integrieren, die in Ihrem Cluster ausgeführt werden. Ihr Publisher kann ein beliebiger Dienst sein, der auf Ihrem Kubernetes-Cluster läuft, oder eine beliebige Workload, die Zugriff auf den Topic-Endpunkt hat (der vom Event Grid-Broker gehostet wird), an den Ihr Publisher Events sendet.

Intra-cluster integration

Sie können auch einen Publisher an einer anderen Stelle in Ihrem Netzwerk bereitgestellt haben, der Events an Event Grid in einem Ihrer Kubernetes-Cluster sendet:

In-network integration

Mit Event Grid in Kubernetes können Sie Ereignisse zur weiteren Verarbeitung, Speicherung oder Visualisierung an Azure weiterleiten:

Forward events to Azure

Destinations

Ereignishandler-Ziele können beliebige HTTPS- oder HTTP-Endpunkte sein, die Event Grid über das Netzwerk erreichen kann, öffentlich oder privat, und auf die es Zugriff hat (nicht durch einen Authentifizierungsmechanismus geschützt). Sie definieren Ereignis-Lieferziele, wenn Sie ein Event-Abonnement erstellen. Weitere Informationen finden Sie unter Ereignishandler.

Funktionen

Event Grid in Kubernetes unterstützt Event Grid-Themen. Dies ist eine Funktion, die auch von Azure Event Gridangeboten wird. Event Grid-Themen unterstützt Sie dabei, den primären Integrationsanwendungsfall zu verwirklichen, bei dem Ihre Anforderungen die Integration Ihres Systems mit einem anderen Workload erfordern, den Sie besitzen oder der auf andere Weise für Ihr System zugänglich gemacht wird.

Einige der Funktionen, die Sie mit Azure Event Grid in Kubernetes erhalten, sind wie folgt:

  • Ereignisfilterung: Filtern Sie nach Ereignistyp oder Ereignisthema, der Ereignisdaten, um sicherzustellen, dass Ereignishandler nur relevante Ereignisse empfangen.
  • Auffächern: Abonnieren Sie mehrere Endpunkte für das gleiche Ereignis, um Kopien des Ereignisses an mehrere Stellen zu senden.
  • Basierend auf offenen Standards: Definieren Sie Ihre Ereignisse anhand der Cloud Events 1.0-Schemaspezifikation.
  • Zuverlässigkeit: Event Grid verfügt über eine Logik zur erneuten Zustellung von Ereignissen, die sicherstellt, dass die Ereignisse ihr Ziel erreichen.

Weitere Informationen finden Sie unter Funktionen, die von Event Grid unter Kubernetes unterstützt werden.

Preise

Event Grid in Kubernetes mit Azure Arc wird während der Vorschauversion kostenlos angeboten.

Nächste Schritte

Befolgen Sie diese Schritte in der Reihenfolge, in der Sie das Routing von Ereignissen mit Event Grid auf Kubernetes starten.

  1. Verbinden Sie Ihren Cluster mit Azure Arc.
  2. Installieren Sie eine Event Grid-Erweiterung, welche die eigentliche Ressource ist, die Event Grid einem Kubernetes-Cluster bereitstellt. Weitere Informationen zur Erweiterung finden Sie im Abschnitt Event Grid-Erweiterung.
  3. Erstellen eines benutzerdefinierten Speicherorts. Ein benutzerdefinierter Speicherort stellt einen Namespace im Cluster dar und ist die Stelle, an der Themen und Ereignisabonnements bereitgestellt werden.
  4. Erstellen eines Themas und einer oder mehrerer Ereignisabonnements.
  5. Veröffentlichen von Ereignissen.

Hier sind weitere Ressourcen, die Sie verwenden können: