Inicio rápido: Suscripción a eventos de Azure Kubernetes Service (AKS) con Azure Event Grid

Azure Event Grid es un servicio de enrutamiento de eventos completamente administrado que ofrece un consumo de eventos uniforme mediante un modelo de publicación-suscripción.

En esta guía rápida, creará un clúster AKS y se suscribirá a eventos AKS.

Prerrequisitos

Nota:

En caso de que haya problemas específicamente con las notificaciones de EventGrid, como puede verse aquí Cancelaciones de servicio, tenga en cuenta que las operaciones de AKS no se verán afectadas y que son independientes de las interrupciones de Event Grid.

Creación de un clúster de AKS

Cree un clúster de AKS con el comando az aks create. En el ejemplo siguiente se crea un grupo de recursos MyResourceGroup y un clúster llamado MyAKS con un nodo en el grupo de recursos MyResourceGroup:

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

Suscripción a eventos de AKS

Cree un espacio de nombres y un centro de eventos mediante az eventhubs namespace create y az eventhubs eventhub create. En el ejemplo siguiente se crea un espacio de nombres MyNamespace y un centro de eventos MyEventGridHub en MyNamespace, ambos en el grupo de recursos MyResourceGroup.

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

Nota

El nombre del espacio de nombres debe ser único.

Suscríbase a los eventos de AKS mediante 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

Compruebe la suscripción a los eventos de AKS mediante az eventgrid event-subscription list:

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

En la siguiente salida de ejemplo se muestra que está suscrito a eventos del clúster MyAKS, y esos eventos se entregan al centro de eventos MyEventGridHub:

[
  {
    "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"
  }
]

Cuando se produzcan eventos AKS, los verá aparecer en su centro de eventos. Por ejemplo, cuando cambie la lista de versiones disponibles de Kubernetes para los clústeres, verá un evento Microsoft.ContainerService.NewKubernetesVersionAvailable. También hay nuevos eventos disponibles ahora para actualizaciones y clúster dentro del soporte. Para más información sobre los eventos que AKS emite, vea Azure Kubernetes Service (AKS) como origen de Event Grid.

Eliminación del clúster y las suscripciones

Use el comando az group delete para eliminar el grupo de recursos, el clúster de AKS, el espacio de nombres, el centro de eventos y todos los recursos relacionados.

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

Nota:

Cuando elimina el clúster, la entidad de servicio de Microsoft Entra que utiliza el clúster de AKS no se quita. Para conocer los pasos que hay que realizar para quitar la entidad de servicio, consulte Consideraciones principales y eliminación de AKS.

Si usó una identidad administrada, esta está administrada por la plataforma y no requiere que la quite.

Pasos siguientes

En este inicio rápido, ha implementado un clúster de Kubernetes y, a continuación, se ha suscrito a eventos de AKS en Azure Event Hubs.

Para obtener más información sobre AKS y un ejemplo completo desde el código hasta la implementación, continúe con el tutorial del clúster de Kubernetes.