Terraform 和 Infrastructure Manager

如需使用 Infrastructure Manager(简称 Infra Manager),您应熟悉 Terraform。如需详细了解 Terraform,请先参阅什么是 Terraform?

Infra Manager 会部署在 Terraform 配置中定义的基础设施资源和配置。这些配置可以包含多个文件和目录,但其入口点必须是 Terraform 根模块

Infra Manager 使用术语蓝图来指代 Terraform 配置。

如需详细了解如何将 Terraform 与 Google Cloud搭配使用,请参阅 Terraform on Google Cloud

适用于 Google Cloud的 Terraform 模块

如需查看用于预配 Google Cloud 资源的模块集,请参阅适用于 Google Cloud 的 Terraform 蓝图和模块

您还可以为 Google Cloud创建自己的 Terraform 模块。如需了解详情,请参阅创建模块

支持的 Terraform 版本

Infra Manager 支持以下 Terraform 版本:

  • Terraform 版本 1.2.3
  • Terraform 版本 1.3.10
  • Terraform 版本 1.4.7
  • Terraform 版本 1.5.7

您可以使用 --tf-version-constraint 标志来指定 Infra Manager 用于创建部署的 Terraform 版本。

如果您未指定 Terraform 版本,系统会默认使用最新支持的版本。

更新部署时,您可以将 Terraform 版本更改为较新的版本。您无法更改为更早的受支持 Terraform 版本。

如需查看用于创建特定部署或修订版本的 Terraform 版本,请参阅查看部署的详细信息查看修订版本的详细信息

对 Terraform 配置的限制

如需使用 Infrastructure Manager 部署 Terraform 配置,该配置必须满足以下限制。

Terraform 配置值和敏感数据

请勿在 Terraform 配置值中包含个人信息或敏感信息。

Google Cloud 提供程序的文档表明,配置值可能包含敏感信息。

例如,资源 google_storage_bucket_object 允许使用 content 实参创建 Cloud Storage 对象。此实参在 Google Cloud Provider 文档google_storage_bucket_object 页面上标记为敏感。

您可以使用这些标签来指导您创建 Terraform 配置,或在您使用现有 Terraform 配置之前对其进行审核。

如需了解 Google Cloud 如何在提供和管理 Cloud 服务期间处理收集或生成的个人信息,请参阅Google Cloud 隐私权声明

使用适用于 Google Cloud的 Terraform 提供程序

您可以将部署和预览配置为使用由 Infra Manager 维护的适用于 Google Cloud的 Terraform 提供程序。

您可以使用此可选字段指定使用 Infra Manager 维护的 Terraform 提供程序来创建或更新部署或预览部署。您可以使用 gcloud CLI 指定 Terraform 提供程序。

Infrastructure Manager 支持适用于 Google Cloud的 Terraform 提供程序:

  • google
  • google-beta

省略此字段可使用 HashiCorp 维护的 Google Cloud的 Terraform 提供程序

如需了解如何指定使用由 Infra Manager 维护的 Terraform 提供程序,请参阅使用 Infrastructure Manager 部署基础架构更新部署预览部署

检查提供方支持的版本

如需查看 Infra Manager 支持的 Terraform 提供程序版本(针对 Google Cloud ),您需要查看 Infra Manager 维护的 Cloud Storage 存储桶中的 manifest.json,该存储分区与部署区域相关联,格式如下:

https://storage.googleapis.com/LOCATION-im-providers/hashicorp/PROVIDER_VERSION/manifest.json

您可以在 manifest.json 文件的 versions 字段中找到受支持版本的完整列表。

例如,如果您的部署位于 africa-south1 区域,并且您使用的是 google-beta 提供商,请前往 https://storage.googleapis.com/africa-south1-im-providers/hashicorp/google-beta/manifest.json 查看可用区域。

后续步骤