azure - 使用每个管道的 Azure 存储容器管理 terraform 状态的有效方法
问题描述
作为我们通过 Terraform 实施的 IaC 工作流程的一部分,对于我们为用户提供的一些公共资源,我们希望创建一个集中的远程状态存储。我们使用的是 Azure 云,因此默认选择是使用 Azure Blob 存储。我们最初考虑为每个管道创建一个存储容器并将状态存储在那里。但是还有另一种想法,即创建一个容器并为每个管道创建目录结构并将状态存储在那里。我理解 Blob 存储默认是平面文件系统。但 Azure 存储还提供了一个选项,可以使用 ADLS2 启用分层文件结构。是否有人尝试通过在 Azure 中启用分层文件系统结构来存储 terraform 状态?那是一个有效的选择吗?另外,任何人都可以建议在我的场景中推荐的方法是什么?
谢谢廷图
解决方案
从未尝试过使用 ADLS2 的分层功能。但是由于您的要求是将状态文件保存在同一个容器中但在不同的文件夹中,您可以尝试在 backend.tf 中配置后端时指定不同的文件夹结构
terraform init backend-config "key=$somePath/<tfstate-file-name>.tfstate"
并从不同的 backend.tfvars 文件传递不同的 somePath 值。
我希望这回答了你的问题!
推荐阅读
- css - 对齐 Material UI 按钮内的图标
- sql-server - 如果 Excel 文件在导出 SSIS 之前不存在,则创建它
- reporting-services - 基于多个独立条件的行抑制
- sql - 我收到错误“从字符串转换日期和/或时间时转换失败。” 运行我的查询时
- sql-server - 带有文件系统 SSIS 包的 SQL Server 作业
- javascript - 为什么我不能在 React State 上使用点符号?
- jestjs - 将 jest 日志参数传递给导致测试失败的函数
- r - 沿向量映射并使用 purrr 系列函数输出嵌套列表(或嵌套 data.frames)的 data.frame 列?
- javascript - 对对象数组中的数字进行排序
- c# - For 循环在 C# 控制台中制作条形图