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

通过Python begin_create_or_update()升级AKS的版本稳定性相关咨询

AKS版本升级相关问题解答

1. 当前代码获取的版本是否为稳定版

你当前的实现逻辑没有过滤预览版本,拿到的latest_version不一定是稳定版:

  • 你调用get_upgrade_profile返回的upgrades列表中,每个版本对象都带有is_preview字段,值为True代表该版本是预览版,未经过完整稳定性验证,不建议生产环境使用
  • 你当前的逻辑是直接遍历所有升级版本,将最后遍历到的版本赋值为latest_version,如果列表最后一个版本是预览版,你就会误升级到预览版本

2. stable自动升级通道与begin_create_or_update接口的适配逻辑

  • AKS的自动升级通道是AKS提供的托管升级功能,你配置stable通道后,AKS会自动筛选对应区域符合稳定标准的Kubernetes版本,在维护窗口内自动帮你完成集群升级,不需要你手动调用API
  • begin_create_or_update是手动触发集群更新的底层API,本身和自动升级通道没有绑定关系,适配逻辑如下:
    • 只要你传入的kubernetes_version是stable通道覆盖的正式发布版本,调用这个接口升级的效果和自动升级走stable通道的效果完全一致
    • 该接口不会主动校验你传入的版本属于哪个自动升级通道,只会校验版本是否在当前区域可用、是否为当前集群支持升级的合法版本

3. 代码优化建议

3.1 过滤稳定版本

修改遍历升级版本的逻辑,只筛选正式稳定版本再取最大值,示例修改:

if upgrades:
    # 只筛选非预览的稳定版本
    stable_upgrades = [i for i in upgrades if not i.is_preview]
    if not stable_upgrades:
        print("没有可用的稳定版本更新!")
    else:
        # 按版本号排序取最大的稳定版
        from packaging import version
        stable_upgrades.sort(key=lambda x: version.parse(x.kubernetes_version), reverse=True)
        latest_stable_version = stable_upgrades[0].kubernetes_version
        print("最新稳定可用版本:", latest_stable_version)

3.2 修复多节点池兼容问题

你当前的代码遍历节点池时会覆盖agent_pool_name变量,如果集群存在多个节点池,构造ManagedCluster参数时只传一个节点池配置会导致其他节点池被删除,需要把所有节点池的配置都保留并更新版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 16:54:02