Azure Event Grid は、パブリッシュ/サブスクライブ モデルを使用した画一的なイベント使用を提供する、完全に管理されたイベント ルーティング サービスです。
このクイックスタートでは、AKS クラスターを作成し、AKS イベントをサブスクライブします。
前提条件
- Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、無料のアカウントを作成できます。
- Azure CLI または Azure PowerShell がインストールされている。
注
AKS 操作は Azure Event Grid の可用性に依存せず、Event Grid サービスの停止中に影響を受けません。
AKS クラスターを作成する
az aks create コマンドを使用して、AKS クラスターを作成します。 次の例では、リソース グループ MyResourceGroup と、1 つのノードを持つ MyResourceGroup リソース グループ内の MyAKS という名前のクラスターを作成します。
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 と、MyNamespace 内のイベント ハブ MyEventGridHub を、いずれも MyResourceGroup リソース グループ内に作成します。
az eventhubs namespace create --location eastus --name MyNamespace --resource-group MyResourceGroup
az eventhubs eventhub create --name MyEventGridHub --namespace-name MyNamespace --resource-group MyResourceGroup
注
名前空間の名前は一意である必要があります。
az eventgrid event-subscription create を使用して AKS イベントをサブスクライブします。
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
az eventgrid event-subscription list を使用して AKS イベントへのサブスクリプションを確認します。
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 によって出力されるイベントの詳細については、「Event Grid ソースとしての Azure Kubernetes Service (AKS)」を参照してください。
クラスターとサブスクリプションを削除する
az group delete コマンドを使用して、リソース グループ、AKS クラスター、名前空間、イベント ハブ、およびすべての関連リソースを削除します。
az group delete --name MyResourceGroup --yes --no-wait
注
クラスターを削除しても、AKS クラスターで使用される Azure Active Directory サービス プリンシパルは削除されません。 サービス プリンシパルを削除する手順については、AKS のサービス プリンシパルに関する考慮事項と削除に関するページを参照してください。
マネージド ID を使用した場合、ID はプラットフォームによって管理されるため、削除する必要はありません。
次のステップ
このクイックスタートでは、Kubernetes クラスターをデプロイし、Azure Event Hubs で AKS イベントをサブスクライブしました。
AKS の詳細を参照し、デプロイの例の完全なコードを確認するには、Kubernetes クラスター チュートリアルに進んでください。