Share via


Quickstart: Abonneren op AKS-gebeurtenissen (Azure Kubernetes Service) met Azure Event Grid

Azure Event Grid is een volledig beheerde service voor gebeurtenisroutering die uniform gebeurtenisverbruik biedt met behulp van een model voor publiceren/abonneren.

In deze quickstart maakt u een AKS-cluster en abonneert u zich op AKS-gebeurtenissen.

Vereisten

Notitie

Als er specifiek problemen zijn met EventGrid-meldingen, zoals hier te zien is, is er sprake van serviceonderbrekingen. Houd er rekening mee dat AKS-bewerkingen niet worden beïnvloed en dat deze onafhankelijk zijn van Event Grid-storingen.

Een AKS-cluster maken

Maak een AKS-cluster met behulp van de opdracht az aks create . In het volgende voorbeeld wordt een resourcegroep MyResourceGroup en een cluster met de naam MyAKS gemaakt met één knooppunt in de MyResourceGroup-resourcegroep :

az group create --name MyResourceGroup --location eastus
az aks create --resource-group yResourceGroup --name MyAKS --location eastus  --node-count 1 --generate-ssh-keys

Abonneren op AKS-gebeurtenissen

Maak een naamruimte en event hub met behulp van az eventhubs namespace create en az eventhubs eventhub create. In het volgende voorbeeld wordt een naamruimte MyNamespace en een Event Hub MyEventGridHub gemaakt in MyNamespace, beide in de resourcegroep MyResourceGroup .

az eventhubs namespace create --location eastus --name MyNamespace --resource-group MyResourceGroup
az eventhubs eventhub create --name MyEventGridHub --namespace-name MyNamespace --resource-group MyResourceGroup

Notitie

De naam van uw naamruimte moet uniek zijn.

Abonneer u op de AKS-gebeurtenissen met az eventgrid event-subscription create:

SOURCE_RESOURCE_ID=$(az aks show --resource-group MyResourceGroup --name MyAKS --query id --output tsv)
ENDPOINT=$(az eventhubs eventhub show --resource-group MyResourceGroup --name MyEventGridHub --namespace-name MyNamespace --query id --output tsv)
az eventgrid event-subscription create --name MyEventGridSubscription \
--source-resource-id $SOURCE_RESOURCE_ID \
--endpoint-type eventhub \
--endpoint $ENDPOINT

Controleer uw abonnement op AKS-gebeurtenissen met behulp van az eventgrid event-subscription list:

az eventgrid event-subscription list --source-resource-id $SOURCE_RESOURCE_ID

In de volgende voorbeelduitvoer ziet u dat u bent geabonneerd op gebeurtenissen van het MyAKS-cluster en dat deze gebeurtenissen worden geleverd aan de MyEventGridHub-event hub:

[
  {
    "deadLetterDestination": null,
    "deadLetterWithResourceIdentity": null,
    "deliveryWithResourceIdentity": null,
    "destination": {
      "deliveryAttributeMappings": null,
      "endpointType": "EventHub",
      "resourceId": "/subscriptions/SUBSCRIPTION_ID/resourceGroups/MyResourceGroup/providers/Microsoft.EventHub/namespaces/MyNamespace/eventhubs/MyEventGridHub"
    },
    "eventDeliverySchema": "EventGridSchema",
    "expirationTimeUtc": null,
    "filter": {
      "advancedFilters": null,
      "enableAdvancedFilteringOnArrays": null,
      "includedEventTypes": [
        "Microsoft.ContainerService.NewKubernetesVersionAvailable","Microsoft.ContainerService.ClusterSupportEnded","Microsoft.ContainerService.ClusterSupportEnding","Microsoft.ContainerService.NodePoolRollingFailed","Microsoft.ContainerService.NodePoolRollingStarted","Microsoft.ContainerService.NodePoolRollingSucceeded"
      ],
      "isSubjectCaseSensitive": null,
      "subjectBeginsWith": "",
      "subjectEndsWith": ""
    },
    "id": "/subscriptions/SUBSCRIPTION_ID/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerService/managedClusters/MyAKS/providers/Microsoft.EventGrid/eventSubscriptions/MyEventGridSubscription",
    "labels": null,
    "name": "MyEventGridSubscription",
    "provisioningState": "Succeeded",
    "resourceGroup": "MyResourceGroup",
    "retryPolicy": {
      "eventTimeToLiveInMinutes": 1440,
      "maxDeliveryAttempts": 30
    },
    "systemData": null,
    "topic": "/subscriptions/SUBSCRIPTION_ID/resourceGroups/MyResourceGroup/providers/microsoft.containerservice/managedclusters/MyAKS",
    "type": "Microsoft.EventGrid/eventSubscriptions"
  }
]

Wanneer AKS-gebeurtenissen plaatsvinden, ziet u dat deze gebeurtenissen worden weergegeven in uw Event Hub. Wanneer bijvoorbeeld de lijst met beschikbare Kubernetes-versies voor uw clusters wordt gewijzigd, ziet u een Microsoft.ContainerService.NewKubernetesVersionAvailable gebeurtenis. Er zijn nu ook nieuwe gebeurtenissen beschikbaar voor upgrades en clusters binnen ondersteuning. Zie Azure Kubernetes Service (AKS) als een Event Grid-bron voor meer informatie over de gebeurtenissen die AKS verzendt.

Het cluster en de abonnementen verwijderen

Gebruik de opdracht az group delete om de resourcegroep, het AKS-cluster, de naamruimte en de Event Hub en alle gerelateerde resources te verwijderen.

az group delete --name MyResourceGroup --yes --no-wait

Notitie

Wanneer u het cluster verwijdert, wordt de Microsoft Entra-service-principal die door het AKS-cluster wordt gebruikt, niet verwijderd. Zie Overwegingen voor en verwijdering van AKS service-principal voor stappen voor het verwijderen van de service-principal.

Als u een beheerde identiteit hebt gebruikt, wordt de identiteit beheerd door het platform en hoeft deze niet te worden verwijderd.

Volgende stappen

In deze quickstart hebt u een Kubernetes-cluster geïmplementeerd en vervolgens geabonneerd op AKS-gebeurtenissen in Azure Event Hubs.

Voor meer informatie over AKS en een volledig stapsgewijs voorbeeld van code tot implementatie gaat u naar de zelfstudie over Kubernetes-clusters.