You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AKS托管节点OS升级计划未执行升级问题求助

问题:AKS节点池按计划未执行OS镜像升级

我给AKS节点池配置了升级窗口:每周四20:00(UTC偏移-07:00),间隔1周,持续8小时。到现在已经是计划执行的第二周,次日检查发现节点池完全没升级。

当前节点镜像版本

执行命令:

az aks show --query "agentPoolProfiles[*].{name: name, image:nodeImageVersion }" --output table

输出结果:

Name       Image
---------  ----------------------------------------
<redacted>  AKSUbuntu-2204gen2containerd-202307.27.0

可用最新镜像版本

执行命令:

az aks nodepool get-upgrades --query "{ most_recent_node_version: latestNodeImageVersion, upgrades: upgrades }" --output table

输出结果:

Most_recent_node_version
----------------------------------------
AKSUbuntu-2204gen2containerd-202308.10.0

对应的原始JSON输出:

{
  "id": <redacted>,
  "kubernetesVersion": "1.26.6",
  "latestNodeImageVersion": "AKSUbuntu-2204gen2containerd-202308.10.0",
  "name": "default",
  "osType": "Linux",
  "resourceGroup": <redacted>,
  "type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles",
  "upgrades": null
}

明确当前节点池版本为AKSUbuntu-2204gen2containerd-202307.27.0,最新可用版本为AKSUbuntu-2204gen2containerd-202308.10.0。

升级计划配置

当前的aksManagedNodeOSUpgradeSchedule配置:

{
    "id": <redacted>,
    "maintenanceWindow": {
      "durationHours": 8,
      "notAllowedDates": null,
      "schedule": {
        "absoluteMonthly": null,
        "daily": null,
        "relativeMonthly": null,
        "weekly": {
          "dayOfWeek": "Thursday",
          "intervalWeeks": 1
        }
      },
      "startDate": "2023-08-29",
      "startTime": "22:00",
      "utcOffset": "-07:00"
    },
    "name": "aksManagedNodeOSUpgradeSchedule",
    "notAllowedTime": null,
    "resourceGroup": <redacted>,
    "systemData": null,
    "timeInWeek": null,
    "type": null
  }

按配置已经到第二周的执行窗口,但升级未触发,期望节点版本与最新版本一致,需排查原因。


排查要点

  • 验证时区转换后的执行时间:配置的startTime为22:00(UTC-07:00),对应UTC时间为次日05:00。确认你检查版本的时间是否确实晚于该UTC时间,避免时区差导致误判窗口已过。
  • 检查自动升级开关状态:AKS节点池需开启自动升级才能触发计划升级,执行命令确认:
    az aks nodepool show --name <nodepool-name> --cluster-name <cluster-name> --resource-group <rg-name> --query enableAutoUpgrade
    
    若返回false,需开启自动升级:
    az aks nodepool update --name <nodepool-name> --cluster-name <cluster-name> --resource-group <rg-name> --enable-auto-upgrade true
    
  • 查看集群升级日志:在Azure门户进入AKS集群的「监控」->「日志」,执行以下查询过滤升级相关事件:
    ContainerServiceNodeLogs
    | where Message contains "upgrade"
    | sort by TimeGenerated desc
    
    排查是否存在升级失败、资源不足或被阻止的报错信息。
  • 检查升级锁定状态:确认节点池是否被暂停升级,执行命令:
    az aks nodepool show --name <nodepool-name> --cluster-name <cluster-name> --resource-group <rg-name> --query pauseUpgrade
    
    若返回true,需取消暂停:
    az aks nodepool update --name <nodepool-name> --cluster-name <cluster-name> --resource-group <rg-name> --pause-upgrade false
    
  • 确认升级计划绑定状态:验证节点池的升级计划配置是否与预期一致,执行命令:
    az aks nodepool show --name <nodepool-name> --cluster-name <cluster-name> --resource-group <rg-name> --query osUpgradeSchedule
    
  • 检查节点及Pod状态:
    • 执行kubectl get nodes确认所有节点处于Ready状态;
    • 执行kubectl describe node <node-name>查看是否有Pod驱逐失败的事件;
    • 检查是否存在Pod中断预算(PDB)限制了节点排空,执行kubectl get pdb查看相关配置。

内容的提问来源于stack exchange,提问作者SpillCoffee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 03:44:59