Szybki start: subskrybowanie zdarzeń usługi Azure Kubernetes Service (AKS) za pomocą usługi Azure Event Grid

Azure Event Grid to w pełni zarządzana usługa routingu zdarzeń, która zapewnia jednolite użycie zdarzeń przy użyciu modelu publikowania-subskrybowania.

W tym przewodniku Szybki start utworzysz klaster usługi AKS i zasubskrybujesz zdarzenia usługi AKS.

Wymagania wstępne

Uwaga

W przypadku wystąpienia problemów z powiadomieniami usługi EventGrid, jak widać w tym miejscu Awarie usługi, należy pamiętać, że operacje usługi AKS nie będą miały wpływu i są niezależne od awarii usługi Event Grid.

Tworzenie klastra AKS

Utwórz klaster usługi AKS przy użyciu polecenia az aks create . Poniższy przykład tworzy grupę zasobów MyResourceGroup i klaster o nazwie MyAKS z jednym węzłem w grupie zasobów MyResourceGroup:

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

Subskrybowanie zdarzeń usługi AKS

Utwórz przestrzeń nazw i centrum zdarzeń przy użyciu polecenia az eventhubs namespace create i az eventhubs eventhub create. Poniższy przykład tworzy przestrzeń nazw MyNamespace i centrum zdarzeń MyEventGridHub w myNamespace, zarówno w grupie zasobów MyResourceGroup.

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

Uwaga

Nazwa przestrzeni nazw musi być unikatowa.

Zasubskrybuj zdarzenia usługi AKS przy użyciu polecenia 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

Zweryfikuj subskrypcję zdarzeń usługi AKS przy użyciu polecenia az eventgrid event-subscription list:

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

Następujące przykładowe dane wyjściowe pokazują, że subskrybujesz zdarzenia z klastra MyAKS , a te zdarzenia są dostarczane do centrum zdarzeń 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"
  }
]

Gdy wystąpią zdarzenia usługi AKS, te zdarzenia są wyświetlane w centrum zdarzeń. Na przykład po zmianie listy dostępnych wersji rozwiązania Kubernetes dla klastrów zostanie wyświetlone Microsoft.ContainerService.NewKubernetesVersionAvailable zdarzenie. Dostępne są również nowe zdarzenia dotyczące uaktualnień i klastrów w ramach pomocy technicznej. Aby uzyskać więcej informacji na temat zdarzeń emitowych przez usługę AKS, zobacz Azure Kubernetes Service (AKS) jako źródło usługi Event Grid.

Usuwanie klastra i subskrypcji

Użyj polecenia az group delete, aby usunąć grupę zasobów, klaster usługi AKS, przestrzeń nazw i centrum zdarzeń oraz wszystkie powiązane zasoby.

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

Uwaga

Po usunięciu klastra jednostka usługi Microsoft Entra używana przez klaster usługi AKS nie zostanie usunięta. Aby sprawdzić, jak usunąć jednostkę usługi, zobacz AKS service principal considerations and deletion (Uwagi dotyczące jednostki usługi AKS i jej usuwanie).

Jeśli użyto tożsamości zarządzanej, tożsamość jest zarządzana przez platformę i nie wymaga usunięcia.

Następne kroki

W tym przewodniku Szybki start wdrożono klaster Kubernetes, a następnie zasubskrybujesz zdarzenia usługi AKS w usłudze Azure Event Hubs.

Aby dowiedzieć się więcej o usłudze AKS i poznać dokładnie proces od kompletnego kodu do wdrożenia, przejdź do samouczka dotyczącego klastra Kubernetes.