And*_*mov 4 terraform devops infrastructure-as-code
最近,我开始在 Terraform 配置中使用每个环境的工作空间。我最终拥有了三个工作区:开发、登台和生产。但由于历史原因,我的默认工作区仍然包含过时的 tfstate。
将其“重置”为默认状态的正确方法是什么?就像里面什么都没有一样。
实现此目的的一种方法是terraform state rm为每个资源手动执行。但这样一来,我就会接到数百个这样的电话。有某种terraform state reset类似物吗?
到目前为止,我知道的最简单的方法是创建一个新状态。
删除本地状态文件
并运行terraform init以创建一个新状态。
更改后端存储“密钥”路径。例如...
terraform {
backend "s3" {
bucket = "terraform-storage"
key = "backends/stateX" ###...changed to "backends/stateY"
region = "us-west-1"
}
}
Run Code Online (Sandbox Code Playgroud)
...然后运行terraform init -reconfigure以创建新状态并将当前项目附加到该状态。然后,您可以使用任何方便的方法清理旧的远程状态文件。旧的状态文件不应干扰新的状态文件,但最佳实践是无论如何都要清理它们。
如果您安装了 AWS CLI,则可以使用一行命令清理旧状态文件...
aws s3api delete-object --bucket terraform-storage --key backends/stateX
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15371 次 |
| 最近记录: |