Terraform 地形AKS和节点资源组参考

Terraform 地形AKS和节点资源组参考,terraform,azure-aks,Terraform,Azure Aks,因此,我尝试使用Terraform创建一个应用程序网关,用作AGIC。我希望将用于此的资源放在与节点相同的资源组中,这是自动创建的 AKS 试着这样做: resource "azurerm_virtual_network" "aks_vnet" { name = "vnet" location = var.LOCATION res

因此,我尝试使用Terraform创建一个应用程序网关,用作AGIC。我希望将用于此的资源放在与节点相同的资源组中,这是自动创建的

AKS

试着这样做:

resource "azurerm_virtual_network" "aks_vnet" {
    name                        = "vnet"
    location                    = var.LOCATION
    resource_group_name         = "${var.RESOURCE_GRP_NAME}-INF"
    address_space               = ["10.0.0.0/8"]
    tags                        = var.TAGS
    depends_on = [azurerm_kubernetes_cluster.aks]
}
返回
Error:Cycle:azurerm_virtual_network.aks_vnet,azurerm_subnet.pods_subnet,azurerm_kubernetes_cluster.aks

为什么
azurerm\u kubernetes\u集群不能在
dependens\u中使用

我还尝试引用将创建的资源组,如:

resource "azurerm_virtual_network" "aks_vnet" {
    name                        = "vnet"
    location                    = var.LOCATION
    resource_group_name         = azurerm_kubernetes_cluster.aks.node_resource_group
    address_space               = ["10.0.0.0/8"]
    tags                        = var.TAGS
}
这给了我
错误:Cycle:azurerm_kubernetes_cluster.aks,azurerm_virtual_network.aks_vnet,azurerm_subnet.pods_subnet



为什么会这样?我无法引用azurerm_kubernetes_集群中的任何内容

简单的回答是:你不能。至少不是以一种简单和推荐的方式

可以将VNet放在该资源组中,但如果您也希望将其用于AKS,则不能这样做。根据您的错误消息,我希望您在AKS设置中使用
azurerm\u subnet.pods\u subnet
,如
vnet\u subnet\u id=azurerm\u subnet.pods\u subnet.id
(在
默认节点池中
),这确实创建了循环依赖关系

可以导入托管VNet(当您不指定
VNet\u subnet\u id
时为AKS创建),并在此VNet中为AGIC添加子网,但我不建议这样做

resource "azurerm_virtual_network" "aks_vnet" {
    name                        = "vnet"
    location                    = var.LOCATION
    resource_group_name         = azurerm_kubernetes_cluster.aks.node_resource_group
    address_space               = ["10.0.0.0/8"]
    tags                        = var.TAGS
}