我如何 运行 分多个步骤/阶段制定 Terraform 计划?
How do I run a Terraform plan in multiple steps / phases?
我有一个很棒的 Terraform 计划,它完美地描述了我在 Google Cloud Platform 中的基础设施,但是,我有一个问题:由于我的存储库不是完全私有的,我计划的某些步骤是加密的,必须使用 Google Key Management Service.
解密
这意味着我的计划必须分为两个地形阶段:
- 设置 Google 云项目并创建密钥环和密钥(在此之后,我加密机密并将它们放在
variables.tf
文件中)
- 应用整个计划。
Terraform 是否支持将我的计划分解为多个阶段的方法?我应该如何实施它?
虽然 Terraform 使我们能够自动创建资源,但需要手动完成一些初步步骤,例如帐户创建、计费设置等。类似地,对于 Google 云设置,需要先创建项目运行 terrform 脚本,因为 terraform google 提供程序需要项目详细信息。
可以通过 shell 脚本生成密钥的项目创建和 terraform 变量(作为环境变量)。然后可以使用 make 文件对 shell 脚本和 terraform 脚本进行排序。
以下link可能对您通过shell脚本创建GCP项目有所帮助。
https://medium.com/google-cloud/how-to-automate-project-creation-using-gcloud-4e71d9a70047
我有一个很棒的 Terraform 计划,它完美地描述了我在 Google Cloud Platform 中的基础设施,但是,我有一个问题:由于我的存储库不是完全私有的,我计划的某些步骤是加密的,必须使用 Google Key Management Service.
解密这意味着我的计划必须分为两个地形阶段:
- 设置 Google 云项目并创建密钥环和密钥(在此之后,我加密机密并将它们放在
variables.tf
文件中) - 应用整个计划。
Terraform 是否支持将我的计划分解为多个阶段的方法?我应该如何实施它?
虽然 Terraform 使我们能够自动创建资源,但需要手动完成一些初步步骤,例如帐户创建、计费设置等。类似地,对于 Google 云设置,需要先创建项目运行 terrform 脚本,因为 terraform google 提供程序需要项目详细信息。
可以通过 shell 脚本生成密钥的项目创建和 terraform 变量(作为环境变量)。然后可以使用 make 文件对 shell 脚本和 terraform 脚本进行排序。
以下link可能对您通过shell脚本创建GCP项目有所帮助。 https://medium.com/google-cloud/how-to-automate-project-creation-using-gcloud-4e71d9a70047