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 不会管理应用在资源上的部署。对于应用部署,请考虑使用 Google Cloud产品,例如 App Lifecycle ManagerCloud BuildCloud Deploy,或第三方工具。

如需使用 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上的基础设施即代码

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

后续步骤