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

Azure AKS 1.27.3升级至1.27.9遇NoRegisteredProviderFound错误求助

问题

通过Terraform使用Azurerm 2.99.0部署的AKS集群,此前使用Kubernetes 1.27.3版本正常运行。两天前微软移除了1.27.3版本,当前可用版本为1.27.9,但尝试升级时出现如下错误:

containerservice.ManagedClustersClient#Get: Failure responding to request: StatusCode=400 -- Original Error: autorest/azure: Service returned an error. Status=400 Code="NoRegisteredProviderFound" Message="No registered resource provider found for location 'westus2' and API version '2022-01-02-preview' for type 'managedClusters'. The supported api-versions are '2017-08-31, 2018-03-31, 2019-02-01, 2019-04-01, 2019-06-01, 2019-08-01, 2019-10-01, 2019-11-01, 2020-01-01, 2020-02-01, 2020-03-01, 2020-04-01, 2020-06-01, 2020-07-01, 2020-09-01, 2020-11-01, 2020-12-01, 2021-02-01, 2021-03-01, 2021-05-01, 2021-07-01, 2021-08-01, 2021-09-01, 2021-10-01, 2022-01-01, 2022-02-01, 2022-03-01, 2022-04-01, 2022-06-01, 2022-07-01, 2022-07-02-preview, 2022-08-01, 2022-08-02-preview, 2022-08-03-preview, 2022-09-01, 2022-09-02-preview, 2022-10-02-preview, 2022-11-01, 2022-11-02-preview, 2023-01-01, 2023-01-02-preview, 2023-02-01, 2023-02-02-preview, 2023-03-01, 2023-03-02-preview, 2023-04-01, 2023-04-02-preview, 2023-05-01, 2023-05-02-preview, 2023-06-01, 2023-06-02-preview, 2023-07-01, 2023-07-02-preview, 2023-08-01, 2023-08-02-preview, 2023-09-01, 2023-09-02-preview, 2023-10-01, 2023-10-02-preview, 2023-11-01, 2023-11-02-preview, 2024-01-01, 2024-01-02-preview'. The supported locations are 'australiacentral, australiacentral2, australiaeast, australiasoutheast, brazilsouth, brazilsoutheast, canadacentral, canadaeast, centralindia, centralus, eastasia, eastus, eastus2, francecentral, francesouth, germanynorth, germanywestcentral, israelcentral, italynorth, japaneast, japanwest, jioindiacentral, jioindiawest, koreacentral, koreasouth, northcentralus, northeurope, norwayeast, norwaywest, polandcentral, qatarcentral, southafricanorth, southafricawest, southcentralus, southindia, southeastasia, swedencentral, switzerlandnorth, switzerlandwest, uaecentral, uaenorth, uksouth, ukwest, westcentralus, westeurope, westus, westus2, westus3'

尝试使用Azurerm 3.34.0版本的data块后,仍出现相同错误。需在不重新创建资源的前提下解决该问题。

解决方法

1. 确认并注册Microsoft.ContainerService资源提供商

错误核心是指定的API版本未被支持,先确保资源提供商已在当前订阅的westus2区域注册:

  • 执行Azure CLI命令注册(若未注册):
    az provider register --namespace Microsoft.ContainerService --location westus2
    
  • 检查注册状态:
    az provider show --namespace Microsoft.ContainerService --query "registrationState"
    
    等待状态变为Registered后再继续操作。

2. 升级Terraform Azurerm Provider到兼容版本

Azurerm 2.99.0使用的AKS API版本2022-01-02-preview已不在微软当前支持列表中,需升级到支持当前AKS API版本的Provider版本:

  • 修改Terraform配置中的Provider版本约束,例如升级到3.70.0+(该版本支持最新的AKS API版本):
    terraform {
      required_providers {
        azurerm = {
          source  = "hashicorp/azurerm"
          version = ">= 3.70.0"
        }
      }
    }
    
  • 执行terraform init -upgrade完成Provider升级。

3. 修正AKS资源的API版本引用

确保Terraform配置中AKS资源(azurerm_kubernetes_cluster)使用的API版本在微软支持列表内,例如使用2023-11-01:

  • 若配置中显式指定了API版本,修改为支持的版本:
    resource "azurerm_kubernetes_cluster" "example" {
      # 其他配置...
      api_version = "2023-11-01"
    }
    
  • 若未显式指定,升级后的Provider会自动使用兼容的默认API版本。

4. 更新Kubernetes版本并执行Terraform计划

  • 在Terraform配置中更新AKS的Kubernetes版本为1.27.9:
    resource "azurerm_kubernetes_cluster" "example" {
      # 其他配置...
      kubernetes_version = "1.27.9"
    }
    
  • 执行terraform plan验证配置变更,确认无资源重建计划后,执行terraform apply完成升级。

5. 清理旧的Data块(若有)

如果之前使用的data块引用了旧的API版本,需同步更新data块的API版本,或移除不必要的data块,避免冲突:

data "azurerm_kubernetes_cluster" "example" {
  name                = azurerm_kubernetes_cluster.example.name
  resource_group_name = azurerm_kubernetes_cluster.example.resource_group_name
  api_version         = "2023-11-01" # 使用支持的API版本
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 15:56:31