Compartilhar via


Início Rápido: assinar eventos do AKS (Serviço de Kubernetes do Azure) com a Grade de Eventos do Azure

A Grade de Eventos do Azure é um serviço de roteamento de eventos totalmente gerenciado que fornece consumo uniforme de eventos usando um modelo de publicação-assinatura.

Neste início rápido, você cria um cluster do AKS e assina os eventos do AKS.

Pré-requisitos

Observação

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 de interrupções da Grade de Eventos.

Criar um cluster AKS

Crie um cluster do AKS usando o comando az aks create. O exemplo a seguir cria um grupo de recursos MyResourceGroup e um cluster denominado 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 do 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 no MyNamespace, 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

Observação

O nome do seu namespace deve ser exclusivo.

Assine os 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 sua assinatura para eventos do AKS usando az eventgrid event-subscription list:

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

A saída de exemplo 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 ocorrerem eventos do AKS, você verá esses eventos no hub de eventos. Por exemplo, quando a lista de versões do Kubernetes disponíveis para seus clusters for alterada, você verá um evento Microsoft.ContainerService.NewKubernetesVersionAvailable. Há também novos eventos disponíveis agora para atualizações e cluster no suporte. Para obter mais informações sobre os eventos que o AKS emite, consulte AKS (Serviço de Kubernetes do Azure) como uma origem da 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, o hub de eventos e todos os recursos relacionados.

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

Observação

Quando você excluir o cluster, a entidade de serviço do Microsoft Entra usada pelo cluster do AKS não será removida. Para obter as etapas para remover a entidade de serviço, confira Considerações sobre a entidade de serviço do AKS e sua exclusão.

Se você tiver usado uma identidade gerenciada, ela será gerenciada pela plataforma e não exigirá remoção.

Próximas etapas

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

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