参考Terraform中的源ARM变量

参考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

我正在尝试使用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_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

  • 在Terraform文件中定义变量
    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

  • 在Terraform文件中定义变量
    aksname
    ,并引用它,这里我只是在输出块中引用它:
  • 然后输出将如下所示:


    还有问题吗?它能解决你的问题吗?如果是,请接受。还有问题吗?它能解决你的问题吗?如果是,请接受。
    variable "aksname" {}
    
    output "aks_name" {
      value = "${var.aksname}"
    }