Краткое руководство. Подписка на события Службы Azure Kubernetes (AKS) с использованием Сетки событий Azure

Сетка событий Azure — это полностью управляемая служба маршрутизации событий, которая обеспечивает равномерное потребление событий с помощью модели "публикация — подписка".

В этом кратком руководстве описано, как создать кластер AKS и подписаться на события AKS.

Необходимые компоненты

Примечание.

В случае возникновения проблем, связанных с уведомлениями EventGrid, как можно увидеть здесь, обратите внимание, что операции AKS не будут затронуты, и они не зависят от сбоев сетки событий.

Создание кластера AKS

Теперь создайте кластер AKS с помощью команды az aks create. В следующем примере создается группа ресурсов MyResourceGroup и кластер с именем MyAKS с одним узлом в группе ресурсов MyResourceGroup:

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

Подписка на события AKS

Создайте пространство имен и концентратор событий с помощью команд az eventhubs namespace create и az eventhubs eventhub create. В следующем примере создается пространство имен MyNamespace и концентратор событий MyEventGridHub в MyNamespace, в группе ресурсов MyResourceGroup.

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

Примечание.

Имя пространства имен должно быть уникальным.

Подпишитесь на события AKS с помощью команды 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

Проверьте свою подписку на события AKS с помощью az eventgrid event-subscription list:

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

В выходных данных в следующем примере видно, что вы подписались на события кластера MyAKS, и эти события доставляются в концентратор событий 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"
  }
]

При возникновении событий AKS эти события отображаются в концентраторе событий. Например, если список доступных версий Kubernetes для кластеров изменяется, вы увидите Microsoft.ContainerService.NewKubernetesVersionAvailable событие. Теперь для обновлений и кластеров в поддержке доступны новые события. Дополнительные сведения о событиях AKS см. в статье Служба Azure Kubernetes (AKS) как источник Сетки событий.

Удаление кластера и подписок

Чтобы удалить группу ресурсов, кластер AKS, пространство имен, концентратор событий и все связанные с ними ресурсы, используйте команду az group delete.

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

Примечание.

При удалении кластера субъект-служба Microsoft Entra, используемая кластером AKS, не удаляется. Инструкции по удалению субъекта-службы см. в разделе с дополнительными замечаниями.

Управляемые удостоверения администрируются платформой, и их не нужно удалять.

Следующие шаги

В этом кратком руководстве вы развернули кластер Kubernetes, а затем подписались на события AKS в Центрах событий Azure.

Дополнительные сведения о AKS и инструкции по созданию полного кода для примера развертывания см. в руководстве по кластерам Kubernetes.