Infrastructure Manager 概览

Infrastructure Manager (Infra Manager) 使用 Terraform 自动部署和管理 Google Cloud 基础架构资源。

Infra Manager 可让您以程序化方式部署到 Google Cloud,以便使用此服务,而无需维护其他工具链来使用 Terraform on Google Cloud。

Terraform 配置用于定义基础架构。该配置由 Infra Manager 部署到 Google Cloud ,以便您使用基础架构即代码 (IaC) 管理资源。

Infra Manager 不会管理应用在您的资源上的部署。如需管理应用部署,您可以使用 Cloud BuildCloud Deploy 等 Google Cloud产品。您还可以使用第三方工具或自己的工具链。

如需使用 Infra Manager,您应熟悉 Terraform。 如需详细了解 Terraform,请先参阅 HashiCorp 的 What is Terraform?(Terraform 是什么?)。

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

Infra Manager 和基础架构即代码

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

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

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

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 initterraform 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 配置值和敏感数据

后续步骤