Event Grid sur Kubernetes avec Azure Arc (préversion) – Vue d’ensemble

Cet article fournit une vue d’ensemble d’Event Grid sur Kubernetes, de cas d’usage, des fonctionnalités qu’il offre et de sa différence par rapport à Azure Event Grid.

Important

Event Grid sur Kubernetes avec Azure Arc est actuellement en préversion publique. Cette préversion est fournie sans contrat de niveau de service et n’est pas recommandée pour les charges de travail de production. Certaines fonctionnalités peuvent être limitées ou non prises en charge. Pour plus d’informations, consultez Conditions d’Utilisation Supplémentaires relatives aux Évaluations Microsoft Azure.

Qu’est-ce qu’Event Grid ?

Event Grid est un répartiteur d’événements utilisé pour intégrer des charges de travail qui utilisent des architectures pilotées par des événements. Une architecture pilotée par des événements utilise des événements pour communiquer des occurrences dans des changements d’état du système, et constitue une approche d’intégration courante dans des architectures découplées, telles que celles qui utilisent des microservices. Event Grid propose un modèle de communication de publication-abonnement (pub-sub), également appelé push-push, où des événements sont envoyés (push) à des abonnés qui ne sont pas nécessairement conscients du serveur de publication qui les leur envoie. Ce modèle contraste avec les modèles push-pull classiques, tels que ceux qu’utilisent Azure Service Bus ou Azure Event Hubs, où les clients extraient des messages à partir de courtiers de messages et où, par conséquent, il existe un couplage plus fort entre les courtiers et les clients.

Event Grid est disponible en deux éditions : Azure Event Grid, une service Platform as a service (PaaS) complètement managé sur Azure et Azure Event Grid sur Kubernetes avec Azure Arc, qui vous permet d’utiliser Event Grid sur votre cluster Kubernetes, où qu’il soit déployé, localement ou dans le cloud.

Par souci de clarté, dans cet article, nous appelons Event Grid les fonctionnalités de service générales, quelle que soit l’édition utilisée. Nous appelons Azure Event Grid le service managé hébergé sur Azure. Par souci de concision, nous appelons également Event Grid sur Kubernetes avec Azure ArcEvent Grid sur Kubernetes.

Quelle que soit l’édition d’Event Grid que vous utilisez, il existe un éditeur d’événements qui envoie des événements à Event Grid, et un ou plusieurs abonnés aux événements qui exposent des points de terminaison où ils reçoivent des événements livrés par Event Grid. Les événements publiés sur Event Grid ne doivent pas tous être livrés à tous les abonnés. Event Grid vous permet de sélectionner les événements qui doivent être routés vers une ou plusieurs destinations spécifiques via un ensemble de paramètres de configuration définis dans un abonnement à des événements. Vous pouvez utiliser des filtres dans des abonnements à des événements pour router des événements spécifiques vers un point de terminaison ou multidiffuser vers plusieurs points de terminaison. Event Grid offre également un mécanisme de livraison fiable avec une logique de nouvelle tentative. Event Grid est également basé sur des normes ouvertes et prend en charge la spécification de schéma Cloud Events 1.0.

Event Grid sur Kubernetes avec Azure Arc

Event Grid sur Kubernetes avec Azure Arc est une offre qui vous permet d’exécuter Event Grid sur votre propre cluster Kubernetes. Cette fonctionnalité est activée par l’utilisation de Kubernetes avec Azure Arc. Via Kubernetes avec Azure Arc, un cluster Kubernetes pris en charge se connecte à Azure. Une fois connecté, vous pouvez installer Event Grid dessus.

Cas d’utilisation

Event Grid sur Kubernetes prend en charge différents scénarios d’intégration pilotés par des événements. Toutefois, le scénario global principal pris en charge et exprimé sous la forme d’un récit utilisateur est le suivant :

« En tant que propriétaire d’un système déployé sur un cluster Kubernetes, je souhaite communiquer les changements d’état de mon système en publiant des événements et en configurant le routage de ces événements afin que les gestionnaires d’événements, sous mon contrôle ou autres, puissent traiter les événements de mon système de manière adaptée. »

Fonctionnalité qui vous permet de répondre à l’exigence ci-dessus : Rubriques Event Grid.

Event Grid sur Kubernetes en d’un coup d’œil

Du point de vue de l’utilisateur, Event Grid sur Kubernetes est composé des ressources suivantes en bleu :

Resources

  • Une rubrique est une sorte de canal d’entrée qui expose un point de terminaison via lequel les éditeurs envoient des événements à Event Grid.
  • Un abonnement à un événement est une ressource contenant des paramètres de configuration pour filtrer et router des événements vers une destination où les événements sont livrés.
  • Un événement est l’annonce d’un changement d’état.
  • Un gestionnaire d’événements est une application ou un service qui reçoit des événements et y réagit ou les traite d’une certaine façon. Parfois, nous appelons également les gestionnaires d’événements abonnés à des événements. Dans le diagramme, les gestionnaires d’événements sont l’API déployée sur un cluster Kubernetes (K8s) et le service Azure Service Bus.

Pour plus d’informations sur ces concepts, consultez Concepts dans Azure Event Grid.

Exemples de scénarios et de destinations d’intégration de charge de travail

Vous pouvez intégrer des charges de travail s’exécutant sur votre cluster. Votre serveur de publication peut être n’importe quel service s’exécutant sur votre cluster Kubernetes ou toute charge de travail ayant accès au point de terminaison de la rubrique (hébergé par le répartiteur Event Grid) auquel votre serveur de publication envoie des événements.

Intra-cluster integration

Vous pouvez également avoir un serveur de publication déployé ailleurs dans votre réseau, qui envoie des événements à un Event Grid déployé sur l’un de vos clusters Kubernetes :

In-network integration

Avec Event Grid sur Kubernetes, vous pouvez transférer des événements vers Azure en vue d’un traitement, d’un stockage ou d’une visualisation plus poussés :

Forward events to Azure

Destinations

Les destinations d’un gestionnaire d’événements peuvent être n’importe quel point de terminaison HTTPS ou HTTP auquel Event Grid peut accéder via le réseau, public ou privé, et auquel il a accès (non protégé par un mécanisme d’authentification). Vous définissez des destinations de remise d’événement lorsque vous créez un abonnement à des événements. Pour plus d’informations, consultez la section relative aux gestionnaires d’événements.

Fonctionnalités

Event Grid sur Kubernetes prend en charge les rubriques Event Grid, une fonctionnalité également proposée par Azure Event Grid. Les rubriques Event Grid vous aident à réaliser le cas d’utilisation d’intégration primaire quand vos exigences appellent l’intégration de votre système avec une autre charge de travail que vous possédez ou qui est rendue accessible à votre système.

Voici quelques-unes des fonctionnalités dont vous bénéficiez avec Azure Event Grid sur Kubernetes :

  • Filtrage d’événement : filtrez sur le type d’événement, l’objet d’événement ou les données d’événement pour vous assurer que les gestionnaires d’événements ne reçoivent que des événements pertinents.
  • Distribution ramifiée : abonnez-vous à plusieurs points de terminaison pour le même événement pour envoyer des copies de l’événement à de nombreux emplacements.
  • Basé sur des standards ouverts : définissez vos événements à l’aide de la spécification de schéma Cloud Events 1.0 de CNCF.
  • Fiabilité : Event Grid présente une logique de nouvelle tentative de livraison d’événement qui permet de s’assurer que les événements atteignent leur destination.

Pour plus d’informations, consultez fonctionnalités prises en charge par Event Grid sur Kubernetes.

Tarifs

Event Grid sur Kubernetes avec Azure Arc est proposé gratuitement pendant la période de préversion.

Étapes suivantes

Suivez ces étapes dans l’ordre pour commencer à router les événements à l’aide d’Event Grid sur Kubernetes.

  1. Connectez votre cluster à Azure Arc.
  2. Installez une extension Event Grid qui est la ressource réelle qui déploie Event Grid sur un cluster Kubernetes. Pour en savoir plus sur l’extension, consultez la section Extension Event Grid.
  3. Créez un emplacement personnalisé. Un emplacement personnalisé représente un espace de noms dans le cluster et est l’endroit où les rubriques et les abonnements à des événements sont déployés.
  4. Créez une rubrique et un ou plusieurs abonnements à des événements.
  5. Publiez des événements.

Voici d’autres ressources que vous pouvez utiliser :