Infrastructure Manager 概览

Infrastructure Manager (Infra Manager) 是一项代管式服务,可简化并自动执行 Google Cloud 基础设施资源的部署和管理。通过使用 Terraform 配置(也称为蓝图),Infra Manager 提供了一个代管式 Google Cloud 工具链,用于实现基础设施即代码 (IaC) 工作流。

借助 Infra Manager,您可以:

  • 使用 Terraform 以声明方式定义基础架构。
  • 部署存储在 Cloud Storage 存储桶、Git 代码库或本地目录中的 Terraform 配置。
  • 通过部署和修订版本管理基础设施生命周期。
  • 创建预览部署,以便在应用更改之前查看更改对基础架构的影响。
  • 使用与 Cloud Build 的集成来实现自动化工作流。

Infra Manager 不会管理应用在资源上的部署。对于应用部署,请考虑使用 App Lifecycle Manager、Cloud Build 和 Cloud Deploy 等 Google Cloud产品或第三方工具。

如需使用 Infra Manager,您应该熟悉 Terraform。如需详细了解如何将 Terraform 与 Google Cloud搭配使用,请参阅 Terraform onGoogle Cloud。

如需详细了解 Terraform 是什么以及它的工作原理,请参阅 HashiCorp 的什么是 Terraform?。

Infra Manager 和基础设施即代码

借助 Infra Manager,您可以使用 IaC 管理Google Cloud 资源的生命周期:

  • Terraform 是在 Terraform 配置中以声明方式定义的。这意味着配置描述了基础设施的最终状态。
  • 您可以在 Git 代码库或 Cloud Storage 存储桶中对 Terraform 配置进行版本控制。使用对象版本控制对存储桶中的配置进行版本控制。
  • 使用 Infra Manager 通过修订版本更新基础架构部署。对于每个修订版本,Infra Manager 都会存储以下内容:
    • 日志
    • 用于进行修订的配置
    • 由修订版本创建的 Google Cloud 资源列表
    • 在每次部署和修订过程中创建的状态文件

如需详细了解 IaC,请参阅 Google Cloud上的基础设施即代码。

使用输入值自定义部署

您可以使用 Terraform 输入变量(Infra Manager 称之为输入值)对 Terraform 配置进行参数化。输入值可让您自定义部署,同时在多个环境或部署中重复使用相同的配置,而无需修改 Terraform 配置源代码。您可以为没有默认值的必需变量提供值,也可以替换现有的默认值。

您可以在创建、更新或预览部署时传递输入值。如需详细了解如何在 Terraform 中定义和使用输入变量,请参阅 HashiCorp 的输入变量文档。

Infra Manager 的运作方式

下文介绍了使用 Infra Manager 部署基础设施时发生的情况:

  1. 要部署到 Google Cloud 的基础设施资源在 Terraform 配置中定义。
    • 您可以自行创建此文件,也可以使用已为 Google Cloud编写的配置。如需了解详情,请参阅 Terraform 和 Infrastructure Manager。
    • 您可以将 Terraform 配置存储在 Cloud Storage 存储桶、Git 代码库或本地机器中。
  2. 使用 Infra Manager 从 Terraform 配置部署资源时,您需要创建部署。如需创建部署,Infra Manager 会执行以下操作:
    1. 验证请求。例如,它可确保您在命令中指定了 Terraform 配置的位置。
    2. 使用容器映像创建 Cloud Build 作业。此映像由 Google Cloud所有和维护。如需详细了解 Cloud Build 构建环境,请参阅运行时环境。Cloud Build 作业会自动执行以下任务:
      1. 从存储桶或 Git 代码库下载 Terraform 模块。
      2. 初始化 Terraform (terraform init)
      3. 验证 Terraform 配置 (terraform validate)
      4. 执行配置(terraform apply,如果您要删除部署,则为 terraform destroy)
      5. 将 Cloud Build 日志流式传输到 Infra Manager 创建的存储桶中。
      6. 如果部署失败,Infra Manager 会在某些情况下(例如,由于间歇性网络中断而失败)自动重试 terraform init 或 terraform apply 操作。这些重试的次数有限。
    3. 创建 Cloud Storage 存储桶并存储部署的元数据。如需详细了解部署和元数据,请参阅部署和修订版本概览。
  3. 部署完成后,系统会按照配置中的说明预配 Google Cloud 资源。

    您可以查询 Infra Manager 部署,了解以下信息:

    • 部署的状态。
    • 作为部署的一部分而部署的资源列表。
    • 属于部署的各个资源的详细信息。

运行时环境

Infra Manager 的运行时环境是临时 Cloud Build 环境。Infra Manager 在此 Cloud Build 构建环境中执行 Terraform 命令,然后舍弃该环境。

Cloud Build 构建环境的具体操作系统、可用软件和其他配置详细信息是 Infra Manager 的内部实现详细信息,随时可能发生变化。

您可以指定要用于每个部署的受支持的 Terraform 版本。

请勿包含个人信息或敏感信息

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

如需详细了解 Terraform 配置和敏感数据,请参阅 Terraform 配置值和敏感数据。

后续步骤