如需使用 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 配置值和敏感数据。
- 必须提供有效的 Terraform 根模块。不支持 Terraform 的模板化或生成。
- 该配置应可由受支持的 Terraform 版本启动。
- 不应定义后端块。
- 不建议使用 provisioner。如果可能,请使用其他解决方案。如需详细了解配置器,请参阅配置器是最后的手段。如果您使用的是配置器,请注意 Infra Manager 运行时环境可能会随时发生变化。
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 查看可用区域。
后续步骤
- 详细了解 Infrastructure Manager。
- 创建部署。
- 更新部署。
- 查看部署的状态。
- 删除部署。