我在aws提供商中使用terraform。
似乎terraform应该有用于更新资源的状态文件。当我从一台PC提交我的terraform配置到git,并从另一台PC获取它时,terraform plan想要创建所有资源,尽管资源实际上是在另一台PC上创建的。如何在不将状态文件提交到git的情况下修复此问题?
发布于 2021-08-22 07:55:53
Terraform是Infra-as-Code,它需要状态文件的管理。对于AWS Cloud,最受欢迎的选择是AWS S3存储桶。Here is more on terraform state management
中具有适当的
发布于 2021-01-11 15:29:37
在这种情况下,您可以使用Remote State。如果您正在使用亚马逊网络服务,您可以使用s3 backend将状态存储在您选择的存储桶中。文档中的示例:
terraform {
backend "s3" {
bucket = "mybucket"
key = "path/to/my/key"
region = "us-east-1"
}
}Terraform提供了许多关于如何设置和使用这种后端的示例和用例场景,最重要的是如何Protect Access to Workspace State。
其他后端也是可能的,如Terraform Cloud、Azure Blob Storage、Google Cloud Storage、阿里巴巴云OSS等。
发布于 2021-02-18 00:26:39
管理后端状态非常重要。听起来你的.gitignore文件排除了你的本地状态文件?通常,对于terraform,这些行的格式为.gitignore:
# Local .terraform directories
**/.terraform/*
# .tfstate files
*.tfstate
*.tfstate.*如果您删除上面的状态文件行,这意味着您将在另一台PC上签出它们并保持相同的状态。但是如前所述,远程管理您的状态文件是理想的。
https://stackoverflow.com/questions/65662756
复制相似问题