我正在使用Terraform部署ARM模板。 我们使用Terraform部署了所有的Azure基础设施,但是对于AKS,有一些预览功能尚未在terraform中使用,因此我们想使用ARM模板部署AKS群集。 如果我使用TF创建Log Analytics工作区,那么如何将工作区ID传递给ARM。
resource "azurerm_resource_group" "test" {
name = "k8s-test-bram"
location = "westeurope"
}
resource "azurerm_log_analytics_workspace" "test" {
name = "lawtest"
location = "${azurerm_resource_group.test.location}"
resource_group_name = "${azurerm_resource_group.test.name}"
sku = "PerGB2018"
retention_in_days = 30
}
因此,这是AKS ARM的一个片段,我要在其中启用监视,并引用了workspaceresourceId。但是,如何定义/声明参数以从使用TF创建的工作空间中获取ID
"properties": {
"kubernetesVersion": "[parameters('kubernetesVersion')]",
"enableRBAC": "[parameters('EnableRBAC')]",
"dnsPrefix": "[parameters('DnsPrefix')]",
"addonProfiles": {
"httpApplicationRouting": {
"enabled": false
},
omsagent": {
"enabled": true,
"config": {
"logAnalyticsWorkspaceResourceID": "[parameters('workspaceResourceId')]"
}
}
},
答案 0 :(得分:1)
您可以使用azurerm_template_deployment
部署的parameters属性来传递参数:
parameters = {
"workspaceResourceId" = "${azurerm_log_analytics_workspace.test.id}"
}
我认为应该看起来差不多,here's对此的官方文件。