Event Grid in Kubernetes met Azure Arc (preview) - overzicht
Dit artikel bevat een overzicht van Event Grid in Kubernetes, use cases voor het gebruik, de functies die het biedt en hoe deze verschilt van Azure Event Grid.
Belangrijk
Event Grid in Kubernetes met Azure Arc is momenteel beschikbaar als openbare preview. Deze preview-versie wordt aangeboden zonder service level agreement en wordt niet aanbevolen voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.
Wat is Event Grid?
Event Grid is een gebeurtenisbroker die wordt gebruikt voor het integreren van workloads die gebruikmaken van gebeurtenisgestuurde architecturen. Een gebeurtenisgestuurde architectuur maakt gebruik van gebeurtenissen om gebeurtenissen in wijzigingen in de systeemstatus te communiceren en is een algemene integratiebenadering in losgekoppelde architecturen, zoals architecturen die gebruikmaken van microservices. Event Grid biedt een pub-sub, die ook wordt beschreven als een push-push-communicatiemodel waarin abonnees gebeurtenissen (gepusht) worden verzonden en die abonnees zich niet noodzakelijkerwijs bewust zijn van de uitgever die de gebeurtenissen verzendt. Dit model contrasteert met klassieke push-pull-modellen, zoals modellen die worden gebruikt door Azure Service Bus of Azure Event Hubs, waarbij clients berichten ophalen van berichtbrokers en als gevolg hiervan een sterkere koppeling tussen berichtbrokers en het verbruiken van clients.
Event Grid wordt aangeboden in twee edities: Azure Event Grid, een volledig beheerde PaaS-service in Azure en Event Grid in Kubernetes met Azure Arc, waarmee u Event Grid kunt gebruiken in uw Kubernetes-cluster, waar dat ook is geïmplementeerd, on-premises of in de cloud.
Voor de duidelijkheid gebruiken we in dit artikel de term Event Grid wanneer we verwijzen naar de algemene servicemogelijkheden, ongeacht de gebruikte editie. We verwijzen naar Azure Event Grid om te verwijzen naar de beheerde service die wordt gehost in Azure. Voor beknoptheid verwijzen we ook naar Event Grid in Kubernetes met Azure Arc als Event Grid in Kubernetes.
Ongeacht de editie van Event Grid die u gebruikt, is er een gebeurtenisuitgever die gebeurtenissen verzendt naar Event Grid en een of meer gebeurtenisabonnees die eindpunten beschikbaar stellen waar ze gebeurtenissen ontvangen die worden geleverd door Event Grid. Niet alle gebeurtenissen die naar Event Grid worden gepubliceerd, moeten worden geleverd aan alle gebeurtenisabonnees. Met Event Grid kunt u de gebeurtenissen selecteren die naar specifieke bestemmingen moeten worden gerouteerd via een set configuratie-instellingen die zijn gedefinieerd in een gebeurtenisabonnement. U kunt filters in gebeurtenisabonnementen gebruiken om specifieke gebeurtenissen naar één eindpunt of multicast te routeren naar meerdere eindpunten. Event Grid biedt ook een betrouwbaar leveringsmechanisme met logica voor opnieuw proberen. Event Grid is ook gebaseerd op open standaarden en ondersteunt de schemaspecificatie van Cloud Events 1.0.
Event Grid op Kubernetes met Azure Arc
Event Grid in Kubernetes met Azure Arc is een aanbieding waarmee u Event Grid kunt uitvoeren op uw eigen Kubernetes-cluster. Deze mogelijkheid wordt ingeschakeld door het gebruik van Kubernetes met Azure Arc. Via Kubernetes met Azure Arc maakt een ondersteund Kubernetes-cluster verbinding met Azure. Nadat u verbinding hebt gemaakt, kunt u Event Grid erop installeren.
Gebruiksscenario
Event Grid in Kubernetes ondersteunt verschillende gebeurtenisgestuurde integratiescenario's. Het belangrijkste scenario dat wordt ondersteund en uitgedrukt als een gebruikersverhaal, is echter:
"Als eigenaar van een systeem dat is geïmplementeerd in een Kubernetes-cluster, wil ik de statuswijzigingen van mijn systeem doorgeven door gebeurtenissen te publiceren en routering van deze gebeurtenissen te configureren, zodat gebeurtenis-handlers, onder mijn controle of anderszins, de gebeurtenissen van mijn systeem kunnen verwerken op een manier die ze passend zien."
Functie waarmee u de bovenstaande vereiste kunt realiseren: Event Grid-onderwerpen.
Event Grid in Kubernetes in één oogopslag
Vanuit het perspectief van de gebruiker bestaat Event Grid in Kubernetes uit de volgende resources in het blauw:
- Een onderwerp is een type invoerkanaal waarmee een eindpunt wordt weergegeven waarop uitgevers gebeurtenissen naar Event Grid verzenden.
- Een gebeurtenisabonnement is een resource die configuratie-instellingen bevat voor het filteren en routeren van gebeurtenissen naar een bestemming waar gebeurtenissen worden geleverd.
- Een gebeurtenis is de aankondiging van statuswijziging.
- Een gebeurtenis-handler is een toepassing of service die gebeurtenissen ontvangt en op een of andere manier reageert of de gebeurtenissen verwerkt. Soms verwijzen we ook naar gebeurtenis-handlers als gebeurtenisabonnees. In het diagram zijn gebeurtenis-handlers de API geïmplementeerd in een Kubernetes-cluster (K8s) en de Azure Service Bus-service.
Zie Concepten in Azure Event Grid voor meer informatie over deze concepten.
Voorbeeld van scenario's en bestemmingen voor workloadintegratie
U kunt workloads integreren die worden uitgevoerd op uw cluster. Uw uitgever kan elke service zijn die wordt uitgevoerd op uw Kubernetes-cluster of elke workload die toegang heeft tot het onderwerpeindpunt (gehost door de Event Grid-broker) waarnaar uw uitgever gebeurtenissen verzendt.
U kunt ook een uitgever elders in uw netwerk laten implementeren waarmee gebeurtenissen naar Event Grid worden verzonden die zijn geïmplementeerd naar een van uw Kubernetes-clusters:
Met Event Grid in Kubernetes kunt u gebeurtenissen doorsturen naar Azure voor verdere verwerking, opslag of visualisatie:
Bestemmingen
Gebeurtenis-handlerbestemmingen kunnen elk HTTPS- of HTTP-eindpunt zijn waarnaar Event Grid kan bereiken via het netwerk, openbaar of privé, en heeft toegang (niet beveiligd met een verificatiemechanisme). U definieert bestemmingen voor het leveren van gebeurtenissen wanneer u een gebeurtenisabonnement maakt. Zie gebeurtenis-handlers voor meer informatie.
Functies
Event Grid in Kubernetes ondersteunt Event Grid-onderwerpen, een functie die ook wordt aangeboden door Azure Event Grid. Event Grid-onderwerpen helpen u bij het realiseren van de primaire use case voor integratie waarbij uw vereisten vragen om uw systeem te integreren met een andere workload die u bezit of anderszins toegankelijk wordt gemaakt voor uw systeem.
Enkele van de mogelijkheden die u krijgt met Azure Event Grid in Kubernetes zijn:
- Gebeurtenisfiltering: filter op gebeurtenistype, gebeurtenisonderwerp of gebeurtenisgegevens om ervoor te zorgen dat gebeurtenis-handlers alleen relevante gebeurtenissen ontvangen.
- Fan-out: Abonneer verschillende eindpunten op dezelfde gebeurtenis om kopieën van de gebeurtenis naar veel plaatsen te verzenden.
- Op basis van open standaarden: Definieer uw gebeurtenissen met behulp van de schemaspecificatie van CNCF's Cloud Events 1.0.
- Betrouwbaarheid: Event Grid bevat een logica voor het opnieuw leveren van gebeurtenissen die ervoor zorgt dat gebeurtenissen naar hun bestemming komen.
Zie functies die door Event Grid in Kubernetes worden ondersteund voor meer informatie.
Prijzen
Event Grid in Kubernetes met Azure Arc wordt zonder kosten aangeboden tijdens de preview-versie.
Volgende stappen
Volg deze stappen om gebeurtenissen te routeren met Behulp van Event Grid in Kubernetes.
- Verbind uw cluster met Azure Arc.
- Installeer een Event Grid-extensie. Dit is de werkelijke resource die Event Grid implementeert in een Kubernetes-cluster. Zie de sectie Event Grid-extensie voor meer informatie over de extensie voor meer informatie.
- Maak een aangepaste locatie. Een aangepaste locatie vertegenwoordigt een naamruimte in het cluster en is de locatie waar onderwerpen en gebeurtenisabonnementen worden geïmplementeerd.
- Maak een onderwerp en een of meer gebeurtenisabonnementen.
- Gebeurtenissen publiceren.
Hier volgen meer resources die u kunt gebruiken:
- SDK's voor gegevensvlak.
- Gebeurtenissenvoorbeelden publiceren met behulp van de SDK's voor het gegevensvlak.
- Event Grid CLI.
- Beheer-SDK's.