参考Terraform中的源ARM变量
我正在尝试使用terraform创建AKS,在参考Terraform中的源ARM变量,terraform,terraform-provider-azure,Terraform,Terraform Provider Azure,我正在尝试使用terraform创建AKS,在服务原则块中,我们需要传递客户id和客户机密。Terraform能够读取环境变量,并在它们前面加上TF_VAR_name时将它们作为源 Terraform还提到,对于,我们可以将客户机相关变量导出为ARM\u client\u name。所以我的问题是如何使用这些ARM变量来配置我的AKS 现在我就是这样做的 - export ARM_CLIENT_ID=$AZ_USERNAME - export ARM_CLIENT_SECRET=$AZ
服务原则
块中,我们需要传递客户id
和客户机密
。Terraform能够读取环境变量,并在它们前面加上TF_VAR_name时将它们作为源
Terraform还提到,对于,我们可以将客户机相关变量导出为ARM\u client\u name
。所以我的问题是如何使用这些ARM变量来配置我的AKS
现在我就是这样做的
- export ARM_CLIENT_ID=$AZ_USERNAME
- export ARM_CLIENT_SECRET=$AZ_PASSWORD
- export ARM_TENANT_ID=$AZ_TENANT
- export ARM_SUBSCRIPTION_ID=AZ_SUBSCRIPTION_ID
如果我不能引用上面的环境变量,那么我应该这样做
- export ARM_CLIENT_ID=$AZ_USERNAME
- export TF_VAR_client_id=$AZ_PASSWORD
- export ARM_CLIENT_SECRET=$AZ_PASSWORD
- export TF_VAR_client_secret=$AZ_PASSWORD
- export ARM_TENANT_ID=$AZ_TENANT
- export ARM_SUBSCRIPTION_ID=AZ_SUBSCRIPTION_ID
您在问题中显示的是两种不同的情况 一个是Azure提供商的身份验证。它可以引用环境变量的必要输入,例如
ARM\u客户机ID=$AZ\u用户名
,ARM\u客户机SECRET=$AZ\u密码
,ARM\u租户ID
和ARM\u订阅ID
另一个是引用正态变量。您可以将所有需要的变量导出为前缀为TF\u VAR\uu
的环境变量,但您需要做的另一件事是,您还需要在地形文件中定义变量。如图所示:
作为定义变量的其他方法的后备方法,Terraform
在其自身进程的环境中搜索环境变量
命名为TF_VAR_u,后跟已声明变量的名称
例如,如果要引用环境变量中的变量aksname
,则需要做两件事:
aksname
:export-TF\u-VAR\u-aksname=示例aks
aksname
,并引用它,这里我只是在输出块中引用它:问题中显示的是两种不同的情况 一个是Azure提供商的身份验证。它可以引用环境变量的必要输入,例如
ARM\u客户机ID=$AZ\u用户名
,ARM\u客户机SECRET=$AZ\u密码
,ARM\u租户ID
和ARM\u订阅ID
另一个是引用正态变量。您可以将所有需要的变量导出为前缀为TF\u VAR\uu
的环境变量,但您需要做的另一件事是,您还需要在地形文件中定义变量。如图所示:
作为定义变量的其他方法的后备方法,Terraform
在其自身进程的环境中搜索环境变量
命名为TF_VAR_u,后跟已声明变量的名称
例如,如果要引用环境变量中的变量aksname
,则需要做两件事:
aksname
:export-TF\u-VAR\u-aksname=示例aks
aksname
,并引用它,这里我只是在输出块中引用它:还有问题吗?它能解决你的问题吗?如果是,请接受。还有问题吗?它能解决你的问题吗?如果是,请接受。
variable "aksname" {}
output "aks_name" {
value = "${var.aksname}"
}