Panduan Cepat: Berlangganan event Azure Kubernetes Service (AKS) dengan Azure Event Grid

Azure Event Grid adalah layanan perutean kejadian yang dikelola sepenuhnya dan menyediakan konsumsi kejadian yang seragam dengan menggunakan model publish-subscribe.

Dalam panduan cepat ini, Anda membuat kluster AKS dan mendaftar event AKS.

Prerequisites

Catatan

Operasi AKS tidak bergantung pada ketersediaan Azure Event Grid dan tidak terpengaruh selama Pemadaman Layanan Event Grid.

Membuat kluster AKS

Buat kluster AKS menggunakan perintahaz.aks.create. Contoh berikut membuat grup sumber daya MyResourceGroup dan kluster bernama MyAKS dengan satu simpul di grup sumber daya MyResourceGroup :

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

Berlangganan acara AKS

Buat namespace layanan dan pusat aktivitas menggunakan az eventhubs namespace create dan az eventhubs eventhub create. Contoh berikut membuat namespace MyNamespace dan pusat aktivitas MyEventGridHub di MyNamespace, keduanya di grup sumber daya MyResourceGroup .

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

Catatan

Nama namespace Anda harus unik.

Berlangganan acara AKS dengan menggunakan 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

Verifikasi langganan Anda ke acara AKS menggunakan az eventgrid event-subscription list:

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

Contoh output berikut menunjukkan Anda berlangganan peristiwa dari kluster MyAKS dan peristiwa tersebut dikirimkan ke hub peristiwa 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"
  }
]

Saat peristiwa AKS terjadi, Anda akan melihat peristiwa tersebut muncul di hub peristiwa Anda. Misalnya, ketika daftar versi Kubernetes yang tersedia untuk kluster Anda berubah, Anda akan melihat Microsoft.ContainerService.NewKubernetesVersionAvailable peristiwa. Ada acara baru yang sekarang tersedia untuk peningkatan dan dukungan kluster. Untuk informasi selengkapnya tentang peristiwa yang dipancarkan AKS, lihat Azure Kubernetes Service (AKS) sebagai sumber Event Grid.

Menghapus kluster dan langganan

Gunakan perintah az group delete untuk menghapus grup sumber daya, kluster AKS, namespace layanan, dan hub peristiwa, dan semua sumber daya terkait.

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

Catatan

Saat Anda menghapus kluster, prinsipal layanan Microsoft Entra yang digunakan oleh kluster AKS tidak akan dihapus. Untuk langkah tentang cara menghapus perwakilan layanan, lihat Pertimbangan dan penghapusan perwakilan layanan AKS.

Jika Anda menggunakan identitas terkelola, identitas dikelola oleh platform dan tidak memerlukan penghapusan.

Langkah selanjutnya

Dalam panduan memulai cepat ini, Anda melakukan penerapan kluster Kubernetes lalu berlangganan event AKS di Azure Event Hubs.

Untuk mempelajari lebih lanjut tentang AKS, dan menelusuri kode lengkap untuk contoh penyebaran, lanjutkan ke tutorial kluster Kubernetes.