Condividi tramite


Guida introduttiva: sottoscrivere eventi del servizio Azure Kubernetes con Griglia di eventi di Azure

Griglia di eventi di Azure è un servizio di routing di eventi completamente gestito che consente un uso degli eventi uniforme tramite un modello di pubblicazione-sottoscrizione.

In questa guida introduttiva si crea un cluster del servizio Azure Kubernetes e si sottoscrivono gli eventi del servizio Azure Kubernetes.

Prerequisiti

Nota

Nel caso in cui si verifichino problemi specifici con le notifiche di EventGrid, come si può vedere qui inInterruzioni del servizio, tenere presente che le operazioni del servizio Azure Kubernetes non saranno interessate e sono indipendenti dalle interruzioni di Griglia di eventi.

Creare un cluster del servizio Azure Kubernetes

Creare un cluster del servizio Azure Kubernetes usando il comando crare az ask. L'esempio seguente crea un gruppo di risorse MyResourceGroup e un cluster denominato MyAKS con un nodo nel gruppo di risorse MyResourceGroup:

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

Sottoscrivere eventi del servizio Azure Kubernetes

Creare uno spazio dei nomi e un hub eventi usando creare namespace az eventhubs e creare eventhub az eventhubs. L'esempio seguente crea uno spazio dei nomi MyNamespace e un hub eventi MyEventGridHub in MyNamespace, entrambi nel gruppo di risorse 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

Il nome dello spazio dei nomi deve essere univoco.

Sottoscrivere gli eventi del servizio Azure Kubernetes usando creare az eventgrid event-subscription:

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

Verificare la sottoscrizione agli eventi del servizio Azure Kubernetes usando az eventgrid event-subscription list:

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

L'output di esempio seguente mostra che gli eventi sono stati sottoscritti dal cluster MyAKS e tali eventi vengono recapitati all'hub eventi 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"
  }
]

Quando si verificano eventi del servizio Azure Kubernetes, tali eventi vengono visualizzati nell'hub eventi. Ad esempio, quando l'elenco delle versioni di Kubernetes disponibili per i cluster cambia, viene visualizzato un Microsoft.ContainerService.NewKubernetesVersionAvailable evento. Sono ora disponibili anche nuovi eventi per gli aggiornamenti e il cluster all'interno del supporto. Per maggiori informazioni sugli eventi generati dal servizio Azure Kubernetes, vedere Servizio Azure Kubernetes (AKS) come origine di Griglia di eventi.

Eliminare il cluster e le sottoscrizioni

Usare il comando eliminare az group per rimuovere il gruppo di risorse, il cluster del servizio Azure Kubernetes, lo spazio dei nomi e l'hub eventi e tutte le risorse correlate.

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

Nota

Quando si elimina il cluster, l'entità servizio Microsoft Entra usata dal cluster del servizio Azure Kubernetes non viene rimossa. Per istruzioni su come rimuovere l'entità servizio, vedere le considerazioni sull'entità servizio servizio Azure Kubernetes e la sua eliminazione.

Se è stata usata un'identità gestita, l'identità viene gestita dalla piattaforma e non richiede la rimozione.

Passaggi successivi

In questa guida introduttiva, è stato distribuito un cluster Kubernetes e quindi è stata effettuata la sottoscrizione agli eventi del servizio Azure Kubernetes in Hub eventi di Azure.

Per altre informazioni sul servizio Azure Container e l'analisi del codice completo per un esempio di distribuzione, passare all'esercitazione sul cluster Kubernetes.