Краткое руководство. Подписка на события Службы Azure Kubernetes (AKS) с использованием Сетки событий Azure
Сетка событий Azure — это полностью управляемая служба маршрутизации событий, которая обеспечивает равномерное потребление событий с помощью модели "публикация — подписка".
В этом кратком руководстве описано, как создать кластер AKS и подписаться на события AKS.
Необходимые компоненты
- Подписка Azure. Если у вас еще нет подписки Azure, вы можете создать бесплатную учетную запись.
- Установленные Azure CLI или Azure PowerShell.
Примечание.
В случае возникновения проблем, связанных с уведомлениями EventGrid, как можно увидеть здесь, обратите внимание, что операции AKS не будут затронуты, и они не зависят от сбоев сетки событий.
Создание кластера AKS
Теперь создайте кластер AKS с помощью команды az aks create. В следующем примере создается группа ресурсов MyResourceGroup и кластер с именем MyAKS с одним узлом в группе ресурсов MyResourceGroup:
az group create --name MyResourceGroup --location eastus
az aks create --resource-group yResourceGroup --name 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 --resource-group MyResourceGroup
az eventhubs eventhub create --name MyEventGridHub --namespace-name MyNamespace --resource-group MyResourceGroup
Примечание.
Имя пространства имен должно быть уникальным.
Подпишитесь на события AKS с помощью команды 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
Проверьте свою подписку на события 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.
Azure Kubernetes Service