使用 Terraform 预配 Artifact Registry 资源

HashiCorp Terraform 是一种基础设施即代码 (IaC) 工具,可让您预配和管理云基础设施。Terraform 提供了称为提供程序的插件,可让您与云服务提供商和其他 API 进行交互。您可以 使用适用于 Google Cloud 的 Terraform 提供程序来预配和管理 包括 Artifact Registry 在内的 Google Cloud 资源。

Terraform 的工作原理

Terraform 具有面向配置的声明性语法,您可以使用它来描述要在 Google Cloud 项目中预配的基础设施。在一个或多个位置编写此配置后 Terraform 配置文件,您可以使用 Terraform CLI 来应用 对 Artifact Registry 资源的配置

以下步骤介绍了 Terraform 的运作方式:

  1. Terraform 配置文件中描述您要预配的基础设施。您无需编写代码来描述如何预配基础设施。Terraform 会为您预配基础设施。
  2. 运行 terraform plan 命令,以评估配置并生成执行计划。您可以查看计划并根据需要进行更改。
  3. 运行 terraform apply 命令以执行以下操作:

    1. 它会通过调用 相应的 Artifact Registry API 使用。
    2. 创建一个 Terraform 状态文件,该状态文件是一个 JSON 文件,用于将配置文件中的资源映射到实际基础设施中的资源。Terraform 使用此文件来记录基础设施的最新状态,并确定何时创建、更新和销毁资源。
    3. 当您运行 terraform apply 时,Terraform 会使用状态文件中的映射将现有基础设施与代码进行比较,并根据需要进行更新:

      • 如果配置文件中定义了资源对象,但状态文件中不存在,则 Terraform 会创建该资源对象。
      • 如果状态文件中存在资源对象,但其配置与配置文件不同,则 Terraform 会更新该资源以与配置文件匹配。
      • 如果状态文件中的资源对象与配置文件匹配,则 Terraform 会使该资源保持不变。

基于 Terraform 的 Artifact Registry 指南

下表列出了所有基于 Terraform 的方法指南和教程, Artifact Registry:

指南 详细信息
使用 Terraform 创建标准代码库 本指南介绍了如何使用 Terraform 创建标准模式代码库。
使用 Terraform 创建远程代码库 本指南介绍了如何使用 Terraform 创建远程模式代码库。
使用 Terraform 创建虚拟模式代码库 本指南介绍如何使用 Terraform 创建虚拟模式代码库。

Artifact Registry 的 Terraform 模块和蓝图

模块和蓝图可帮助您自动化大规模预配和管理 Google Cloud 资源。模块是一组可重复使用的 Terraform 配置文件,用于创建 Terraform 资源的逻辑抽象。蓝图是一个可部署且可重复使用的模块和政策的软件包,用于实现和记录特定解决方案。

下表列出了与工件注册库相关的所有模块和蓝图:

模块或蓝图 详细信息
artifact-registry 创建和管理 Artifact Registry 制品库
Secure-cicd 在 Google Cloud 上构建安全的 CI/CD 流水线
gcloud 在 Terraform 中执行 Google Cloud CLI 命令

适用于 Artifact Registry 的 Terraform 资源

资源是 Terraform 语言中的基本元素。每个资源块描述一个或多个基础设施对象,例如虚拟网络或计算实例。

下表列出了可用于 Artifact Registry:

服务 Terraform 资源 数据源
Artifact Registry
  • google_artifact_registry_docker_image
  • google_artifact_registry_repository
  • google_artifact_registry_repository_iam_policy
  • 后续步骤