【发布时间】:2021-12-26 23:10:15
【问题描述】:
S3 terraform 像这样存储状态文件。 ${bucket_name}/${workspace_key_prefix}/${workspace_name}/${key}
因为特定 Terraform 项目的状态文件可以包含许多工作空间,所以状态文件可以存在于许多 S3 目录中。在新机器上进行初始化时,Terraform 如何找到所有工作空间的状态文件?它是否会搜索 S3 中的所有位置以找到所有位置?
【问题讨论】:
S3 terraform 像这样存储状态文件。 ${bucket_name}/${workspace_key_prefix}/${workspace_name}/${key}
因为特定 Terraform 项目的状态文件可以包含许多工作空间,所以状态文件可以存在于许多 S3 目录中。在新机器上进行初始化时,Terraform 如何找到所有工作空间的状态文件?它是否会搜索 S3 中的所有位置以找到所有位置?
【问题讨论】:
此说法不正确:“因为特定 Terraform 项目的状态文件可以包含许多工作区,所以状态文件可以存在于许多 S3 目录中。”每个工作区将只有一个状态文件。只需查看 S3 前缀,它包含工作区名称。所以不能有一个包含多个工作空间的状态文件。
单个项目将有多个状态文件,每个工作区一个。无需爬取 S3 存储桶来查找状态文件,因为当前工作空间只有一个状态文件,而该状态文件的名称可以通过以下模式精确计算:${bucket_name}/${workspace_key_prefix}/${workspace_name}/${key}
【讨论】: