Azure Kubernetes 服务 终止支持通知

Azure Kubernetes 服务 (AKS)主动通知群集的 Kubernetes 版本接近或已过期支持日期。 这些通知通过 AKS 通信管理器作为计划事件发布到 Azure Resource Graph (ARG),并使用与维护通知相同的 Azure 资源通知管道。

停止支持通知会自动发送,无需配置自动升级或维护时段。 无需集群监控附加组件。

通知类型

AKS 根据 AKS Kubernetes 发布日历评估群集的 Kubernetes 版本,并按以下时间间隔发送通知:

Notification 当它触发时 说明
KubernetesVersionEOLTwoWeeks 支持结束前 14 天或更多天 您的群集版本将在两周内停止支持
KubernetesVersionEOLOneWeek 支持终止前 7 到 14 天 您的集群版本将在一周内结束支持
KubernetesVersionOutOfSupport 在支持终止日期之后 群集版本已过支持终止日期(每周重复)

注释

使用 长期支持(LTS) 的群集根据支持终止日期(晚于社区支持日期)进行评估。 有关当前生命周期日期,请参阅 AKS Kubernetes 发布日历

通知负载

每个通知都包含可用于自动化或报告的结构化事件详细信息:

{
  "description": "KubernetesVersionEOLOneWeek",
  "eventSource": "EOLNotification",
  "eventStatus": "Scheduled",
  "eventDetails": {
    "kubernetesVersion": "1.32.3",
    "eolDate": "2026-03-01T00:00:00Z",
    "supportType": "Community",
    "daysUntilEOL": 5,
    "region": "chinanorth3"
  },
  "scheduledTime": "2026-03-01T00:00:00Z"
}

eventDetails 字段包含:

  • kubernetesVersion:群集上运行的完整版本
  • eolDate:此版本的支持日期结束
  • supportTypeCommunityLTS,具体取决于群集的支持计划
  • daysUntilEOL:距离支持结束的剩余天数(如果已过期,则为负数)
  • 区域:群集Azure区域

查询Azure Resource Graph中的通知

可以通过直接查询Azure Resource Graph来检查群集是否具有终止支持通知。 这些查询不需要群集监视。

注释

对于每个查询,请更新 where id contains 路径以引用订阅 ID、资源组名称和群集名称。

查询特定集群

containerserviceeventresources
| where type == "microsoft.containerservice/managedclusters/scheduledevents"
| where id contains "/subscriptions/<subid>/resourcegroups/<rgname>/providers/Microsoft.ContainerService/managedClusters/<clustername>"
| where properties has "EOLNotification"
| extend description = tostring(properties.description)
| extend details = parse_json(tostring(properties.eventDetails))
| project name, description, details, properties

跨订阅查询所有通知

containerserviceeventresources
| where type == "microsoft.containerservice/managedclusters/scheduledevents"
| where properties has "EOLNotification"
| extend description = tostring(properties.description)
| extend details = parse_json(tostring(properties.eventDetails))
| project name, description, details, properties
| order by name asc

从Azure门户进行查询

可以直接在Azure门户中运行这些查询:

  1. 转到Azure门户并搜索 Resource Graph 资源管理器
  2. 将上述查询之一粘贴到查询编辑器中。
  3. 选择 “运行查询 ”以查看结果。

还可以从Azure Monitor访问Azure Resource Graph,而无需在群集上启用监视加载项。

设置电子邮件警报

若要在群集接近支持日期结束时接收电子邮件通知,请创建日志搜索警报规则。 这遵循与 维护通知相同的模式。

  1. 转到资源,然后选择“ 监视 ”并选择“ 警报 ”,然后选择“ 警报规则”。

  2. 警报的条件应该是 自定义日志搜索

    警报规则边栏中自定义日志搜索的屏幕截图。

  3. 在打开的“搜索查询”框中,粘贴以下查询。 将路径中的占位符更新为你的订阅 ID、资源组名称和群集名称。

arg("").containerserviceeventresources
| where type == "microsoft.containerservice/managedclusters/scheduledevents"
| where id contains "/subscriptions/<subid>/resourcegroups/<rgname>/providers/Microsoft.ContainerService/managedClusters/<clustername>"
| where properties has "EOLNotification"
| extend description = tostring(properties.description)
| extend details = parse_json(tostring(properties.eventDetails))
| extend eventTime = todatetime(tostring(properties.lastUpdateTime))
| where eventTime >= ago(2h)
| project eventTime, description, details, name, properties
| order by eventTime asc
  1. 使用以下设置配置警报条件:

    • 度量:选择“表行”
    • 聚合:选择“计数”
    • 聚合粒度:选择“30 分钟”
    • 阈值:保留为 0
    • 按维度拆分:选择“说明”,然后选择“包括所有未来值”

    警报条件的配置选项的屏幕截图。

    注释

    按“说明”维度拆分为每个通知类型创建单独的警报: KubernetesVersionEOLTwoWeeksKubernetesVersionEOLOneWeek以及 KubernetesVersionOutOfSupport。 这些值仅在群集收到其第一条通知后显示。

  2. 检查是否存在具有正确电子邮件地址的操作组以接收通知。

    在操作组中输入适当的电子邮件或短信的屏幕截图。

  3. 分配托管系统标识:创建警报规则后,分配托管标识,以便它可以访问所需的资源。 若要分配托管标识,请:

    • 在 Azure 门户中,转到 “监视>警报>警报规则”,然后选择警报规则。
    • 在警报规则窗格中的 “设置”下,选择“ 标识”。
    • 系统分配的托管标识 设置为 On
    • 选择 “保存 ”以启用警报规则的托管标识。

    分配托管系统标识的位置的屏幕截图。

    Tip

    如果未看到“标识”选项,请确保已创建警报规则,并且你具有必要的权限。 创建警报规则后,分配托管标识始终是单独的步骤。

  4. 请确保分配相应的阅读者角色。

    在警报规则中,转到 “设置>标识>系统分配的托管标识>Azure 角色分配>添加角色分配”。

    选择 “读取者 ”角色并将其分配给资源组。 如有需要,请为订阅重复“添加角色分配”。

验证

使用上述查询检查Azure Resource Graph是否有通知记录。 每个通知都作为表中的一条记录 containerserviceeventresources 列出。

显示如何查找 Azure Resource Graph 的屏幕截图。

创建系统主题

为订阅创建Azure资源通知(ARN)系统主题。 每个订阅只需执行一次。

az eventgrid system-topic create \
  --name aks-scheduled-events \
  --resource-group <resource-group> \
  --source /subscriptions/<subscription-id> \
  --topic-type microsoft.resourcenotifications.containerserviceeventresources \
  --location global

创建事件订阅

创建将通知路由到终结点的事件订阅:

az eventgrid event-subscription create \
  --name aks-eol-notifications \
  --source-resource-id /subscriptions/<subscription-id> \
  --endpoint <your-webhook-url> \
  --included-event-types Microsoft.ResourceNotifications.ContainerServiceEventResources.ScheduledEventEmitted

若要筛选特定资源组的通知,请添加主题筛选:

  --subject-begins-with /subscriptions/<subscription-id>/resourcegroups/<resource-group-name>

注释

事件网格系统主题会传送与该订阅相关的所有 scheduledEvents,包括维护通知和停止支持通知。 在终结点逻辑中按以下条件 eventSource 进行筛选: EOLNotification 对于支持事件的结束, AutoUpgrader 对于维护事件。

AKS 计划事件通知类型

AKS 通过containerserviceeventresourcesAzure Resource Graph中的表发布通知。 下表列出了所有通知类型:

类别 事件源 Notifications 说明
终止支持 EOLNotification KubernetesVersionEOLTwoWeeksKubernetesVersionEOLOneWeekKubernetesVersionOutOfSupport 当群集的 Kubernetes 版本即将结束支持或已终止支持时,主动发出警报
Maintenance AutoUpgrader ScheduledStartedCompletedFailedCancelled 关于即将到来的和正在进行中的自动升级维护窗口的通知

这两个 scheduledEvents 类别使用相同的资源类型,可以使用此页和 AKS 通信管理器 页中所述的相同方法查询、发出警报和订阅。

通知的工作原理

每个群集的系统会定期评估终止支持通知。 群集本身不需要配置。

  • 社区与 LTS:系统会检查您的群集支持方案。 根据社区终止支持日期评估社区群集。 LTS 群集使用更高版本的 LTS 终止支持日期。
  • 通知频率:每种通知类型(KubernetesVersionEOLTwoWeeksKubernetesVersionEOLOneWeek)针对每个群集版本发送一次。 在支持结束日期过后,系统会每周发送一次 KubernetesVersionOutOfSupport 通知,作为提醒。
  • 版本升级会重置通知:如果将群集升级到较新的 Kubernetes 版本,则会根据新版本的支持日期评估通知状态重置和新通知。
  • 无需监视:这些通知将写入Azure Resource Graph,不需要在群集上启用监视加载项。 可以从任何Azure Resource Graph客户端查询它们,包括Azure门户 Resource Graph 资源管理器、Azure Monitor、Azure CLI或 REST API。