问题标签 [terraform-cloud]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
terraform-cloud - Terraform Cloud:如何使用 API 下载 .tfstate 文件?
我已经使用 Terraform Cloud 部署了 terraform 脚本。在“状态”选项卡中,我可以看到我的 VM 机器的所有数据。对于我的管道,我需要下载 sv-xxxx.tfstate 文件以获取 VM IP。我的问题是如何使用 API 下载此文件?我查看了文档,但找不到任何提示。
terraform - 使用多个服务主体的 Terraform 身份验证多订阅
我希望我的 terraform 脚本能够使用多个服务主体对多个 azure 订阅进行身份验证。
这是我的想法:
- 创建服务主体(应用注册)。
- 在 azure 容器实例中部署 terraform 脚本
- 将“贡献者”角色分配给我的订阅服务主体 (x)
- 当我想在此订阅中创建资源时,使用环境变量配置 terraform 脚本以选择正确的凭据。
这个对吗?
使用 terraform cloud 时,您是否有更安全的方式对多个订阅进行身份验证?(理想情况下没有client_secret)
gitlab - Terraform 云 + CICD
我正在努力让 Terraform Cloud 按照我的意愿远程工作。
我有以下工作(更改这些不是一个选项):
- GitLab 存储库中的基础架构代码 (Terraform)
- BitBucket 存储库中的应用程序代码
- CICD 使用 BitBucket 管道
Terraform Cloud 用于运行计划和应用。目前手动。我希望能够运行 terraform 计划并从 CICD 申请。
我terraform.tf
的应用程序仓库的根目录中有一个文件。它将 Terraform Cloud 定义为我的后端并提供一个令牌。
我的 bitbucket 管道是这样的:
当我运行此管道时,Terraform 期望 terraform 配置文件存在,但它们存储在 GitLab 存储库中。Terraform 工作区“testworkspace”连接到 GitLab 存储库。我希望当我运行terraform plan
它时,它会远程运行工作区计划,就像我通过 UI 单击它一样。
您对以上内容有什么建议吗?
terraform - Terraform Cloud 工作空间结构
我对 Terraform 和 Terraform Cloud 很陌生,我正在寻找构建 Terraform Cloud 工作区的最佳方式。
用例:相对简单的webapp、RDS、ECS/Fargate等
我目前正在使用以下工作区进行评估:
- ECR
- 数据库
- AppCore(ECS 集群、ALB 等)
- ECS 服务/任务
好处:小爆炸半径,逻辑块,更新到新的 ECS 任务定义时可以使用 Terraform。
我以为我在 Terraforms 网站上找到了一个文档,该文档建议破坏与此类似的工作区是他们推荐的方法,但目前我似乎无法再次找到它。
这个好吗?坏的?我听说将所有基础设施放在一个工作区中可能会让事情变得很痛苦。
任何想法,想法或建议都非常感谢!
kubernetes - terraform plan 使用 terraform 云后端在每次运行时重新创建资源
我遇到了一个问题,即terraform plan
重新创建不需要每次运行都重新创建的资源。这是一个问题,因为某些步骤取决于可用的资源,并且由于每次运行都会重新创建它们,因此脚本无法完成。
我的设置是 Github Actions、Linode LKE、Terraform Cloud。
我的 main.tf 文件如下所示:
和我的 output.tf 文件
在 Github Actions 中,我正在运行以下步骤:
当我查看结果时,terraform state list
我可以看到我的资源:
但是我terraform plan
失败了,问题似乎源于这些资源试图重新创建的事实。
有没有办法告诉 terraform 它不需要重新创建这些资源?
terraform - Terraform Cloud cottinuos 部署销毁以前的实例
我正在尝试使用Terraform Cloud和 github 自动部署一个简单的 EC2 实例。
我做了一个简单的 repo 来配置 EC2 实例。
结构:
主文件
vars.tf(两者相同)
例子.auto.tfvars
ec2.tf
基本上我要做的是更改resource_name值,将代码推送到 git 并获取一个新的 ec2 实例。但是每次我这样做时,以前的 EC2 都会被销毁。我相信我并不完全理解 tfstate 概念:S。
有什么推荐吗?
感谢和问候
terraform - 将状态迁移到 TFE 时的 Terraform 版本依赖性
我一直致力于将项目从 terraform on prem 迁移到 TFE。所以,我能够成功迁移到 0.12.31(从 0.11),然后迁移到 TFE,然后迁移到 0.15.5。但是,在为我的一个新工作区迁移状态时,我收到以下错误:
│ 错误:查找工作区时出错│ │ 工作区读取失败:工作区值无效
当我尝试迁移我的状态并使用此处提到的所有步骤时,就会发生这种情况。
对我来说,它曾经在 0.12.31 版本上将状态从本地迁移到 TFE 时无缝工作,但似乎是 0.15.5 的一些问题。有没有其他人遇到过类似的问题?
重现步骤 :
- 将您的 terraform 状态文件保存在本地。
- 在 TFE 上创建一个工作区(我有多个工作区,所以使用前缀逻辑来选择工作区)
- 删除现有的 .terraform 文件夹(如果有)
- 选择 terraform 版本为 0.15.5
- 运行
terraform init
它应该给你这个错误
p.s. if you'll remove the state file and run terraform init it runs successfully
terraform - Azurerm 后端无法与 Terraform Enterprise 一起使用,相同的代码在我的本地机器上运行并将状态存储在 blob 中。有什么具体的配置吗?
我正在使用来自https://www.terraform.io/docs/language/settings/backends/azurerm.html的 azurerm 后端代码块
当我使用 azurerm 后端代码块在本地计算机上执行 main.tf 时,我的状态文件将存储在我的 azure blob 中。但是当我从 TFE 工作区执行这个模块时,我没有在我的天蓝色 blob 上获取状态文件。terraform 企业是否需要任何特定配置?
terraform - 云上创建/删除虚拟机的 Terraform 状态文件
如果我在云上部署了 15 个 VMS,并且我想使用 terraform 创建一个 VM 来对其进行测试,并且我想删除这一个 VM。我的状态文件会包含所有 16 个虚拟机还是仅包含一个虚拟机?
删除 VM 的最佳行动方案是什么?
- 状态文件只有一个虚拟机,运行 terraform destroy
- 删除状态文件
- 状态文件有 16 个 VMS,运行 terraform destroy
- 转到云控制台,删除虚拟机并运行 terraform apply
terraform - 使用 Terraform Cloud (VCS) 强制重新创建卷
我有一个连接到 git repo(VCS 支持的工作区)的 Terraform Cloud 帐户,所以我只能执行 VCS 驱动的运行工作流。我有一个带有附加卷的 VM,我想从头开始重新创建卷(是的,丢失所有数据)。我已阅读有关计划替换选项的信息,但这不能在我的工作区中使用。
那么,哪个是使用 Terraform VCS 支持的工作区执行卷重新创建的最佳选择?
顺便说一句,我使用 OpenStack 作为云基础设施和官方terraform-provider-openstack/openstack provider。