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

Azure AKS集群VMSS配置系统/用户托管身份遇阻求助

解决方案

你之前配置的identity块是用于AKS控制平面的托管身份,而非节点池VMSS的身份,这是核心误区。要给节点池的VMSS配置系统分配+用户分配托管身份,需要在default_node_pool块内部添加identity配置,而非集群级别的identity块。

具体配置步骤

  1. 启用系统分配身份:在default_node_pool内添加identity块,指定类型为SystemAssigned;
  2. 叠加用户分配身份:将类型改为SystemAssigned,UserAssigned,并传入用户分配身份的ID数组。

修改后的完整代码示例

resource "azurerm_kubernetes_cluster" "aks_cluster" {
  location            = var.location
  name                = "aks-${var.environment}-${var.region}-${var.aks_name}"
  resource_group_name = azurerm_resource_group.kubernetes_resource_group.name
  dns_prefix          = "aks-${var.environment}-${var.region}-${var.aks_name}"
  kubernetes_version  = data.azurerm_kubernetes_service_versions.current.latest_version
  node_resource_group = "${azurerm_resource_group.kubernetes_resource_group.name}-nrg"

  default_node_pool {
    name                 = "systempool"
    vm_size              = "Standard_D2_V2"
    orchestrator_version = data.azurerm_kubernetes_service_versions.current.latest_version
    zones                = [1]
    enable_auto_scaling  = true
    min_count            = 1
    max_count            = 2
    os_disk_size_gb      = 64
    type                 = "VirtualMachineScaleSets"
    vnet_subnet_id       = azurerm_subnet.system_pool_subnet.id
    node_labels = {
      "nodepool-type" = "System"
      "environment"   = "${var.environment}"
      "nodepoolOS"    = "linux"
      "app"           = "System"
    }

    # 节点池VMSS的托管身份配置
    identity {
      type = "SystemAssigned,UserAssigned"
      user_assigned_identity_ids = [data.azurerm_user_assigned_identity.user_assigned.id]
    }
  }

  # 若需为AKS控制平面配置托管身份,可保留此块(可选)
  # identity {
  #   type = "UserAssigned"
  #   user_assigned_identity_ids = [data.azurerm_user_assigned_identity.user_assigned.id]
  # }
}

关键说明

  • 节点池的identity配置必须嵌套在default_node_pool(或自定义节点池)块内;
  • user_assigned_identity_ids是数组类型,即使只有一个ID也要用[]包裹;
  • 若仅需系统分配身份,将type设为SystemAssigned即可,无需指定user_assigned_identity_ids;
  • 集群级别的identity块仅控制AKS控制平面的身份,与节点池VMSS无关,按需保留。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 19:45:01