你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure 资源通知 - Azure 事件网格中的的 ContainerService 事件(预览版)

Azure Kubernetes 服务 (AKS) 将使用“容器服务事件资源”系统主题针对 AKS 群集上的计划性维护活动提供预先通知。 此功能允许跨不同事件阶段(包括已计划、已启动、已完成、已取消和失败)接收有关基本维护任务的推送通知。 值得注意的是,对于已计划阶段,将在实际维护活动前 7 天和活动前 24 小时发出通知。

通知包括:

  • 由 AKS 发起的维护(例如底层迁移、Konnectivity 隧道切换)
  • 由客户发起的维护(例如自动升级、节点操作系统升级和每周发布时段)

这些前瞻性通知将为客户提供更好地为潜在服务中断做好准备的机会,最终目标是最大限度地降低运营费用。

本文提供了 Azure 资源通知 ContainerService 事件的属性和架构。 有关事件架构的一般简介,请参阅 Azure 事件网格事件架构。 此外,还可以找到生成的事件示例,以及有关如何为本主题类型创建系统主题的相关文章的链接。

事件类型

ContainerService 提供以下事件类型以供使用:

事件类型 说明
Microsoft.ResourceNotifications.ContainerServiceEventResources.ScheduledEventEmitted 为 AKS 群集上的计划性维护事件提供提前通知。

基于角色的访问控制

目前,这些事件仅在 Azure 订阅范围内发出。 这意味着为此主题类型创建事件订阅的实体在整个 Azure 订阅过程中会接收通知。 出于安全原因,必须将在此主题上创建事件订阅的能力限制为对整个 Azure 订阅具有读取访问权限的主体。 若要通过此系统主题访问数据,除了事件网格所需的通用权限外,还需要以下 Azure 资源通知特定权限:``。

Microsoft.ResourceNotifications/systemTopics/subscribeToContainerServiceEventResources/action

事件架构

以下是架构:

{
	"id": "string",
	"source": "string",
	"subject": "string",
	"type": "Microsoft.ResourceNotifications.ContainerServiceEventResources.ScheduledEventEmitted",
	"time ": "string in date-time",
	"data": {
		"resourceInfo": {
			"id": "string",
			"name": "string",
			"type": "string",
			"location": "string",
			"properties": {
				"description": "string",
				"eventId": "string",
				"eventSource": "string",
				"eventStatus": "string",
				"eventDetails": "string",
				"scheduledTime": "string in date-time",
				"startTime": "string in date-time",
				"lastUpdateTime": "string in date-time",
				"resources": "array of strings",
				"resourceType": "string"
			}
		},
		"operationalInfo": {
			"resourceEventTime": "string in date-time"
		},
		"apiVersion": "string"
	},
	"specversion": "string"
}

事件具有以下顶级数据:

属性 类型​​ 说明
id 字符串 事件的唯一标识符
source 字符串 要为其创建此系统主题的 Azure 订阅。
subject 字符串 发布者定义了发出此事件的基础资源的路径。
type 字符串 此系统主题类型的已注册事件类型
time 字符串
格式:2022-11-07T18:43:09.2894075Z
事件的生成时间,基于提供程序的 UTC 时间
data 对象 包含特定于资源提供程序的事件数据。 有关详细信息,请参阅下一个表格。
specversion 字符串 CloudEvents 架构规范版本。

data 对象具有以下属性:

属性 类型​​ 说明
resourceInfo 对象 特定于资源的数据。 有关详细信息,请参阅下一个表格。
apiVersion 字符串 资源属性的 API 版本。
operationalInfo 对象 与资源相关的操作信息的详细信息。

resourceInfo 对象具有以下属性:

属性 类型​​ 说明
id 字符串 事件主题的发布者定义路径
name 字符串 此字段指示事件 ID。 它始终采用 id 字段的最后一部分的值。
type 字符串 正在发出的事件的类型。
location 字符串 资源所在的位置或区域。
properties Object 资源的有效负载。 有关详细信息,请参阅下一个表格。

operationalInfo 对象具有以下属性:

属性 类型​​ 说明
resourceEventTime DateTime 更新资源的日期和时间。

ScheduledEventEmitted 事件具有以下属性:

properties 类型​​ 说明
description 字符串 事件的说明。
eventId 字符串 事件的事件 ID。
eventSource 字符串 事件源。
eventStatus 枚举(字符串) 事件的状态,可以是已计划、已启动、已完成、已取消、失败。
eventDetails 字符串 事件的详细信息。
scheduledTime 字符串(日期时间格式) 计划启动事件的时间。
lastUpdateTime 字符串(日期时间格式) 上次更新事件状态的时间。
resources 字符串数组(Azure 资源管理器 ID 格式) 受事件影响的资源列表。
resourceType 字符串 事件的资源类型

示例事件

以下示例显示键/值修改事件的架构:

{
	"id": "5bdb52cf-5489-4845-86c8-7fe94a4fc6c1",
	"source": "/subscriptions/{subscription-id}",
	"subject": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.ContainerService/managedClusters/{managedcluster-name}/scheduledEvents/{event-id}",
	"data": {
		"resourceInfo": {
			"id": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.ContainerService/managedClusters/{managedcluster-name}/scheduledEvents/{event-id}",
			"name": "{event-id}",
			"type": "Microsoft.ContainerService/managedClusters/scheduledEvents",
			"properties": {
				"description": "ScheduledEvents",
				"eventId": "bbe82027-0444-4f73-897a-0bbfe3af66f1",
				"eventSource": "AutoUprader",
				"eventStatus": "Started",
				"eventDetails": "Start to upgrade security vhd",
				"scheduledTime": "2024-04-16T22:17:12.103268606Z",
				"startTime": "0001-01-01T00:00:00.0000000Z",
				"lastUpdateTime": "0001-01-01T00:00:00.0000000Z",
				"resources": [
				  "/subscriptions/{subscription-id}/resourcegroups/{rg-name}/providers/Microsoft.ContainerService/managedClusters/{managedcluster-name}"
				],
				"resourceType": "ManagedCluster"
			}
		},
		"operationalInfo": {
			"resourceEventTime": "2024-04-16T22:17:12.1032748"
		},
		"apiVersion": "2023-11-02-preview"
	},
	"type": "Microsoft.ResourceNotifications.ContainerServiceEventResources.ScheduledEventEmitted",
	"specversion": "1.0",
	"time": "2024-04-16T22:17:12.1032748Z"
}

联系我们

如果对此功能有任何疑问或反馈,请通过 arnsupport@microsoft.com 随时联系我们。

为了更好地帮助你提供有关特定事件的特定反馈,请提供以下信息:

对于丢失的事件:

  • 系统主题类型名称
  • 执行操作时的近似时间戳 (UTC)
  • 为其生成通知的基本资源 ID
  • 在 Azure 门户中导航到你的资源,然后选择最右侧的 JSON 视图。 资源 ID 是 JSON 视图页上的第一个字段。
  • 预期的事件类型
  • 执行的操作(例如 VM 已启动或停止、已创建存储帐户等)
  • 遇到的问题的说明(例如,VM 已启动,但未生成 Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged 事件)
  • 如果可能,请提供所执行的操作的相关 ID

对于延迟或具有意外内容的事件

  • 系统主题类型名称
  • 不包括 data.resourceInfo.properties 的通知的全部内容
  • 遇到的问题的说明和受影响的字段值

请确保在共享此数据时未提供任何最终用户身份信息。

后续步骤

请参阅订阅 Azure 资源通知 - 容器服务事件