我以前使用过 terraform,其中 terraform 可以将 tfstate 文件放在 S3 中。terraform 是否也支持 azure blob 存储作为后端?将后端设置为 azure blob 存储的命令是什么?
问问题
415 次
2 回答
1
从Terraform 0.7(当前未发布,但您可以从源代码编译)已添加对 Azure blob 存储的支持。
于 2016-07-21T07:15:54.973 回答
0
这个问题要求一些命令,所以我添加了更多细节以防万一有人需要它。我正在使用 Terraform v0.12.24 和 azurerm 提供程序 v2.6.0。你需要两件事:
- 创建一个存储帐户(通用 v2)和一个用于存储您的状态的容器。
- 配置你的环境和你的 main.tf
至于第二点,您在 main.tf 中的 terraform 块应该包含一个“azurerm”后端:
terraform {
required_version = "=0.12.24"
backend "azurerm" {
storage_account_name = "abcd1234"
container_name = "tfstatecontainer"
key = "example.prod.terraform.tfstate"
}
provider "azurerm" {
version = "=2.6.0"
features {}
subscription_id = var.subscription_id
}
在调用计划或应用之前,使用 bash 导出初始化 ARM_ACCESS_KEY 变量:
export ARM_ACCESS_KEY=<storage access key>
最后,运行 init 命令:
terraform init
现在,如果您运行 terraform plan,您将看到在容器中创建的 tfstate。Azure 内置了文件锁定功能,以防有人同时尝试更新状态文件。
于 2020-05-05T10:12:45.520 回答