共用方式為

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

Azure Kubernetes Fleet Manager 旨在帮助客户以安全受控的方式升级多个 AKS 群集。 使用 Fleet Manager 服务可以创建工作流,以特定顺序升级 Kubernetes 群集。 由于升级存在重大风险,因此客户通常会在每个升级前后验证运行状况指标,以防止停机或回归。 为了增强此过程,Fleet Manager 支持使用 Gate 资源进行审批。 盖茨允许客户在工作流进行时批准升级,从而更好地控制多群集升级体验。 AKS 资源为 Azure Kubernetes 集群管理器更新操作门控提供 3 种事件类型:FleetGateCreatedFleetGateUpdatedFleetGateDeleted

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

事件类型

AKS 资源提供三种事件类型供使用:

事件类型 Description
Microsoft.ResourceNotifications.AKSResources.FleetGateCreated 当 Azure Kubernetes Fleet Manager 的更新操作到达 Gate 资源的一个实例时触发。
Microsoft.ResourceNotifications.AKSResources.FleetGateUpdated 当 Azure Kubernetes Fleet Manager 的更新运行门控资源状态从挂起变为已完成时触发。
Microsoft.ResourceNotifications.AKSResources.FleetGateDeleted 删除包含 Gate 实例的 Azure Kubernetes Fleet Manager 更新运行时引发。

基于角色的访问控制

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

事件架构

以下是架构:

{
    "id": string,
    "source": string,
    "subject": string,
    "type": string,
    "time ": string, 
    "data": {
        "resourceInfo": {
            "id": string,
            "name": string,
            "type": string,
            "properties": {                           
            }
        },
        "operationalInfo":{
			"resourceEventTime": date-time
		},
        "apiVersion": string 
    }, 
    "specversion": string
}

事件具有以下顶级数据:

资产 类型 Description
id String 事件的唯一标识符
source String 为创建此系统主题的 Azure 订阅。
subject String 发布者定义了发出该事件的基础资源路径。
type String 此系统主题类型的已注册事件类型。 值为 Microsoft.ResourceNotifications.AKSResources.FleetGateCreated 或 Microsoft.ResourceNotifications.AKSResources.FleetGateUpdated 或 Microsoft.ResourceNotifications.AKSResources.FleetGateDeleted
time 字符串
格式:2022-11-07T18:43:09.2894075Z
根据提供程序的 UTC 时间生成事件的时间
data 物体 包含特定于资源提供程序的事件数据。 有关详细信息,请参阅下表。
specversion String CloudEvents 架构规范版本。

data 对象具有以下属性:

资产 类型 Description
resourceInfo 物体 特定于资源的数据。 有关详细信息,请参阅下表。
apiVersion String 资源属性的 API 版本。
operationalInfo 物体 与资源相关的操作信息的详细信息。

resourceInfo 对象具有以下属性:

资产 类型 Description
id String 发布者定义的事件主题路径
name String 此字段指示事件 ID。它始终采用字段最后一部分 id 的值。
type String 正在发出的事件的类型。 在此上下文中,要么是Microsoft.ResourceNotifications.AKSResources.FleetGateCreated,要么是Microsoft.ResourceNotifications.AKSResources.FleetGateUpdated,要么是Microsoft.ResourceNotifications.AKSResources.FleetGateDeleted
properties 物体 资源的有效负载。 有关详细信息,请参阅下表。

operationalInfo 对象具有以下属性:

资产 类型 Description
resourceEventTime 日期时间 更新资源的日期和时间。

data 对象具有以下属性。

FleetGateCreated/FleetGateCreated/FleetGateDeleted 事件的属性

            "properties": {
                "displayName": string,
                "gateType": string,
                "provisioningState": string,
                "state": string,
                "target": object
            }

properties 对象具有以下属性:

资产 类型 Description
displayName String 在更新策略中定义审批关卡时提供的可选名称。
gateType String Gate 的类型。 目前只有一个有效的“批准”选项。
provisioningState String 网关资源的预配状态。
state String 网关的状态。 “挂起”= 等待审批;“已完成”= 已批准。
target 物体 门控制的目标。

target 对象具有以下属性。

target对象的属性

            "target": {
                "id": string,
                "updateRunProperties": object,
            }

对象中 target 属性的说明

资产 类型 Description
id String 生成事件的更新运行的完整 Azure 资源标识符。
updateRunProperties 物体 与更新运行相关的属性。 有关详细信息,请参阅下表

对象下 updateRunProperties 的属性

资产 类型 Description
group String 应用 Gate 的更新组的名称。 仅适用于组。
name String 生成事件的更新运行的名称。
stage String 更新阶段的名称。 可以出现在阶段门和阶段内的组门。
timing String 表示 Gate 是否在阶段或组之前或之后应用。

示例事件

FleetGateCreated 事件

以下示例显示了 FleetGateCreated 修改事件的架构:

  {
    "source": "/subscriptions/{subscription-id}",
    "subject": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.ContainerService/fleets/{fleet-name}/gates/9i567df1-jh3a-281j-8eb8-123ac2el0t60",
    "type": "Microsoft.ResourceNotifications.AksResources.FleetGateCreated",
    "time": "2025-09-09T01:10:58.4955907Z",
    "id": "m7m4mf0x-740g-4c2d-a0ab-a4r8h4uuf018",
    "data": {
      "resourceInfo": {
        "id": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.ContainerService/fleets/{fleet-name}/gates/9i567df1-jh3a-281j-8eb8-123ac2el0t60",
        "name": "9i567df1-jh3a-281j-8eb8-123ac2el0t60",
        "type": "Microsoft.ContainerService/fleets/gates",
        "properties": {
          "displayName": "before-stage",
          "gateType": "Approval",
          "provisioningState": "Succeeded",
          "state": "Pending",
          "target": {
            "id": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.ContainerService/fleets/{fleet-name}/updateRuns/run-1",
            "updateRunProperties": {
              "name": "run-1",
              "stage": "stage-1",
              "timing": "Before"
            }
          }
        }
      },
      "operationalInfo": {
        "resourceEventTime": "2025-09-08T18:10:58.4955907-07:00"
      },
      "apiVersion": "2025-04-01-preview"
    },
    "specVersion": "1.0"
  }

FleetGateUpdated 事件

以下示例显示了 FleetGateUpdated 事件的架构:

  {
    "source": "/subscriptions/{subscription-id}",
    "subject": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.ContainerService/fleets/{fleet-name}/gates/1k90uy67-e375-4xv6-z220-5197ekk1aka4",
    "type": "Microsoft.ResourceNotifications.AksResources.FleetGateUpdated",
    "time": "2025-09-09T01:12:25.8924289Z",
    "id": "a9f8d51g-c114-4565-buee-5q1jb6fb0b08",
    "data": {
      "resourceInfo": {
        "id": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.ContainerService/fleets/{fleet-name}/gates/1k90uy67-e375-4xv6-z220-5197ekk1aka4",
        "name": "1k90uy67-e375-4xv6-z220-5197ekk1aka4",
        "type": "Microsoft.ContainerService/fleets/gates",
        "properties": {
          "displayName": "before group",
          "gateType": "Approval",
          "provisioningState": "Succeeded",
          "state": "Completed",
          "target": {
            "id": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.ContainerService/fleets/{fleet-name}/updateRuns/run-1",
            "updateRunProperties": {
              "group": "group-1",
              "name": "run-1",
              "stage": "stage-1",
              "timing": "Before"
            }
          }
        }
      },
      "operationalInfo": {
        "resourceEventTime": "2025-09-08T18:12:25.8924289-07:00"
      },
      "apiVersion": "2025-04-01-preview"
    },
    "specVersion": "1.0"
  }

FleetGateDeleted 事件

以下示例显示了已修改的 FleetGateDeleted 事件的架构:

  {
    "source": "/subscriptions/{subscription-id}",
    "subject": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.ContainerService/fleets/{fleet-name}/gates/8a63212d-9dp1-4oa6-8135-14ghghg311ea6",
    "type": "Microsoft.ResourceNotifications.AksResources.FleetGateDeleted",
    "time": "2025-09-22T09:01:22.5495164Z",
    "id": "48e92180-a34e-57b2-b989-7056ccd42c0b",
    "data": {
      "resourceInfo": {
        "id": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.ContainerService/fleets/{fleet-name}/gates/8a63212d-9dp1-4oa6-8135-14ghghg311ea6",
        "name": "8a63212d-9dp1-4oa6-8135-14ghghg311ea6",
        "type": "Microsoft.ContainerService/fleets/gates",
        "properties": {
          "displayName": "stage-after",
          "gateType": "Approval",
          "provisioningState": "Succeeded",
          "state": "Pending",
          "target": {
            "id": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.ContainerService/fleets/{fleet-name}/updateRuns/run-delete",
            "updateRunProperties": {
              "name": "run-delete",
              "stage": "stage-1",
              "timing": "After"
            }
          }
        }
      },
      "operationalInfo": {
        "resourceEventTime": "2025-09-22T02:01:22.5495164-07:00"
      },
      "apiVersion": "2025-04-01-preview"
    },
    "specVersion": "1.0"
  }

联系我们

如果对此功能有任何疑问或反馈,请毫不犹豫地通过此 stackoverflow 链接联系我们

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

对于缺少的事件:

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

对于延迟或包含意外内容的事件

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

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

后续步骤

请参阅 订阅 Azure 资源通知 - AKS 资源事件