Partilhar via


Guia de início rápido: subscrever eventos do Azure Kubernetes Service (AKS) com o Azure Event Grid

A Azure Event Grid é um serviço de roteamento de eventos totalmente gerido que fornece consumo de eventos de forma uniforme usando um modelo de publicação-subscrição.

Neste início rápido, você cria um cluster AKS e se inscreve em eventos AKS.

Prerequisites

Note

Caso haja problemas especificamente com as notificações do EventGrid, como pode ser visto aqui Interrupções de serviço, observe que as operações do AKS não serão afetadas e são independentes das interrupções da grade de eventos.

Criar um cluster do AKS

Crie um cluster AKS usando o comando az aks create . O exemplo a seguir cria um grupo de recursos MyResourceGroup e um cluster chamado MyAKS com um nó no 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

Assinar eventos AKS

Crie um namespace e um hub de eventos usando az eventhubs namespace create e az eventhubs eventhub create. O exemplo a seguir cria um namespace MyNamespace e um hub de eventos MyEventGridHub em MyNamespace, ambos no 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

Note

O nome do seu namespace deve ser exclusivo.

Inscreva-se nos eventos do AKS usando 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

Verifique a sua subscrição de eventos AKS utilizando az eventgrid event-subscription list:

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

O exemplo de saída a seguir mostra que você está inscrito em eventos do cluster MyAKS e esses eventos são entregues ao hub 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"
  }
]

Quando ocorrem eventos AKS, esses eventos aparecem no seu hub de eventos. Por exemplo, quando a lista de versões disponíveis do Kubernetes para seus clusters é alterada, você vê um Microsoft.ContainerService.NewKubernetesVersionAvailable evento. Há também novos eventos disponíveis agora para atualizações e cluster dentro do suporte. Para obter mais informações sobre os eventos que o AKS emite, consulte Serviço Kubernetes do Azure (AKS) como uma fonte de Grade de Eventos.

Excluir o cluster e as assinaturas

Use o comando az group delete para remover o grupo de recursos, o cluster AKS, o namespace e o hub de eventos e todos os recursos relacionados.

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

Note

Quando se elimina o cluster, a entidade de serviço do Microsoft Entra utilizada pelo cluster AKS não é removida. Para obter passos sobre como remover o principal de serviço, consulte Considerações sobre e eliminação do principal de serviço AKS.

Se você usou uma identidade gerenciada, a identidade é gerenciada pela plataforma e não requer remoção.

Próximos passos

Neste início rápido, você implantou um cluster Kubernetes e, em seguida, inscreveu-se em eventos AKS nos Hubs de Eventos do Azure.

Para saber mais sobre o AKS e percorrer um exemplo completo de código para implantação, continue para o tutorial do cluster do Kubernetes.