Démarrage rapide : s’abonner aux événements Azure Kubernetes Service (AKS) avec Azure Event Grid

Azure Event Grid est un service de routage d’événements entièrement géré qui permet une consommation d’événements uniforme avec un modèle publication-abonnement.

Dans ce guide de démarrage rapide, vous allez créer un cluster AKS et vous abonner à des événements AKS.

Prérequis

Remarque

En cas de problèmes spécifiques aux notifications Event Grid, comme vous pouvez le voir dans les pannes de service ici, notez que les opérations AKS ne sont pas affectées et qu’elles sont indépendantes des pannes Event Grid.

Créer un cluster AKS

Créez un cluster AKS avec la commande az aks create. L’exemple suivant crée un groupe de ressources MyResourceGroup et un cluster nommé MyAKS avec un nœud dans le groupe de ressources MyResourceGroup :

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

S’abonner à des événements AKS

Créez un espace de noms et un hub d’événements à l’aide des commandes az eventhubs namespace create et az eventhubs eventhub create. L’exemple suivant crée un espace de noms MyNamespace et un hub d’événements MyEventGridHub dans MyNamespace, tous deux dans le groupe de ressources MyResourceGroup.

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

Notes

Le nom de votre espace de noms doit être unique.

Abonnez-vous aux événements AKS à l’aide de la commande az eventgrid event-subscription create :

SOURCE_RESOURCE_ID=$(az aks show -g MyResourceGroup -n MyAKS --query id --output tsv)
ENDPOINT=$(az eventhubs eventhub show -g MyResourceGroup -n 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

Vérifiez votre abonnement aux événements AKS à l’aide de az eventgrid event-subscription list :

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

L’exemple de sortie suivant indique que vous êtes abonné à des événements à partir du cluster MyAKS et que ces événements sont remis au hub d’événements 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"
  }
]

Lorsque des événements AKS se produisent, ces événements s’affichent dans votre Event Hub. Par exemple, quand la liste des versions Kubernetes disponibles pour vos clusters change, un événement Microsoft.ContainerService.NewKubernetesVersionAvailable s’affiche. De nouveaux événements sont déjà disponibles pour les mises à niveau et le cluster dans le cadre du support. Pour plus d’informations sur les événements émis par AKS, consultez Azure Kubernetes Service (AKS) en tant que source Event Grid.

Supprimer le cluster et les abonnements

Utilisez la commande az group delete pour supprimer le groupe de ressources, le cluster AKS, l’espace de noms, le hub d’événements ainsi que toutes les ressources associées.

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

Remarque

Lorsque vous supprimez le cluster, le principal de service Microsoft Entra utilisé par le cluster AKS n’est pas supprimé. Pour obtenir des instructions sur la façon de supprimer le principal de service, consultez Considérations et suppression du principal de service AKS.

Si vous avez utilisé une identité managée, l’identité est managée par la plateforme et n’a pas besoin d’être supprimée.

Étapes suivantes

Dans ce guide de démarrage rapide, vous avez déployé un cluster Kubernetes, puis vous vous êtes abonné aux événements AKS dans Azure Event Hubs.

Pour en savoir plus sur AKS et parcourir le code complet de l’exemple de déploiement, passez au tutoriel sur le cluster Kubernetes.