Terraform Azure-部署 AKS NoRegisteredProviderFound 时出错

Terraform Azure-部署 AKS NoRegisteredProviderFound 时出错

我正在尝试使用此 terraform 代码部署 AKS 集群。

resource "azurerm_kubernetes_cluster" "k8s" {
  name                = local.k8s.name
  location            = azurerm_resource_group.k8s_rg.location
  resource_group_name = azurerm_resource_group.k8s_rg.name
  dns_prefix          = local.k8s.dns_prefix

  default_node_pool {
    name       = "default"
    node_count = 1
    vm_size    = "Standard_D2_v2"
  }

  identity {
    type = "SystemAssigned"
  }

  tags = local.k8s.tags
}

我很厌倦寻找这个错误信息的解决方案

azurerm_kubernetes_cluster.k8s:正在创建...╷│错误:创建群集:(托管群集名称“assessment-cluster”/资源组“assessment”):containerservice.ManagedClustersClient#CreateOrUpdate:发送请求失败:StatusCode=400——原始错误:代码=“NoRegisteredProviderFound”消息=“未找到位置“centralus”和 API 版本“2022-01-02-preview”的注册资源提供程序,类型为“managedClusters”。支持的 api 版本为'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-预览, 2022-08-01, 2022-08-02-预览, 2022-08-03-预览, 2022-09-01, 2022-09-02-预览, 2022-10-02-预览, 2022-11-01, 2022-11-02-预览, 2023-01-01, 2023-01-02-预览, 2023-02-01, 2023-02-02-预览, 2023-03-01, 2023-03-02-预览, 2023-04-01, 2023-04-02-预览, 2023-05-01, 2023-05-02-预览, 2023-06-01, 2023-06-02-预览, 2023-07-01, 2023-07-02-预览, 2023-08-01, 2023-08-02-预览, 2023-09-01, 2023-09-02-预览, 2023-10-01, 2023-10-02-预览, 2023-11-01, 2023-11-02-预览, 2024-01-01, 2024-01-02-预览, 2024-02-01, 2024-02-02-预览'。支持的位置是“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、norwayeurope、norwayeast、norwaywest、polandcentral、qatarcentral、soutafricanorth、soutafricawest、soutcentralus、soutindia、souteastasia、swedencentral、switzerlandnorth、switzerlandwest、uaecentral、uaenorth、uksouth、ukwest、westcentralus、westeurope、westus、westus2、westus3”。│ │ 使用 azurerm_kubernetes_cluster.k8s,│ 在 aks.tf 第 12 行,在资源“azurerm_kubernetes_cluster”“k8s”中:│ 12:资源“azurerm_kubernetes_cluster”“k8s”{

如果您知道我做错了什么,哇,那真是太棒了。我不知道为什么我会遇到这个错误消息,也不知道我需要查看哪里,因为错误消息根本没有帮助。

答案1

错误“NoRegisteredProviderFound”表示 AKS 资源提供程序未注册到你在 Terraform 配置中使用的特定位置和 API 版本。有两种可能的解决方案:

1.使用受支持的 API 版本:

  • 错误消息列出了您选择的位置(根据代码可能是“centralus”)支持的 API 版本。
  • 检查支持的版本,如果当前设置为您所在地区不可用的预览版本,请更新 Terraform 代码中的 API 版本。

2.注册 AKS 资源提供程序:

  • 如果您特别需要使用预览 API 版本,则可能需要为您的订阅注册 AKS 资源提供程序。
  • 使用 Azure CLI 通过以下命令注册提供程序:
az provider register --namespace Microsoft.ContainerService

以下是一些其他提示:

  • 有关 AKS 支持的位置和 API 版本的详细信息,请参阅 Azure 文档:https://learn.microsoft.com/en-us/azure/aks/
  • 确保您使用的是最新版本的 AzureRM Terraform 提供程序,因为新版本可能可以更好地处理 API 版本。

相关内容