使用从控制台下载的 Terraform 部署基础

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

概览

Google Cloud 控制台中的云基础设置指南可让企业管理员通过引导式界面配置企业级 Google Cloud 基础,并直接从控制台进行部署或将其下载为 Terraform。管理员可以配置组织实体、用户和群组;关联或设置结算帐号;配置资源(文件夹和项目)层次结构、IAM 政策、初始网络以及集中式日志记录和监控。

当客户将其配置下载为 Terraform 时,控制台会生成 Terraform 文件供以后部署。本教程介绍如何部署导出的 Terraform 配置,使其适用于任何先前的基础架构。

前提条件

查看使用 Terraform 的最佳实践,其中包含跨团队成员和工作流使用 Terraform 进行有效部署的指南。

使用 Google Cloud Shell 部署 Terraform

Cloud Shell 预装了 Terraform 并预先进行身份验证,使您可以快速开始使用。

  1. 在控制台设置指南中,点击下载为 Terraform 并保存配置。
  2. 打开 Cloud Shell
  3. 在 Cloud Shell 中,创建一个目录并前往此目录:
    mkdir cloud-foundation-example && cd cloud-foundation-example
    
  4. 上传您在第 1 步中下载的 Terraform 配置。
    1. 从 Cloud Shell 三点状更多菜单中,选择上传,然后点击选择文件以选择 Terraform 配置。将目标目录设置为您在第 2 步中创建的文件夹,然后点击上传
  5. 确保您位于“cloud-foundation-example”目录中。
  6. 创建 Google Cloud CLI 存储桶以存储 Terraform 远程状态。远程状态允许 Terraform 使用 gcloud CLI 等对象存储来存储有关 Terraform 管理的基础架构的状态信息。此配置可提供团队委派和状态锁定等优势。
    1. 要创建 gcloud CLI 存储桶,请运行以下命令:
      gsutil mb gs://tf-state-$PROJECT_ID
      
  7. 在 backend.tf 文件中定义 Terraform 后端配置,并替换 PROJECT_ID 以匹配您在第 6 步中使用的项目 ID。如需了解详情,请参阅在 gcloud CLI 中存储 Terraform 状态
    # backend.tf
    terraform {
       backend "gcs" {
         bucket  = "tf-state-PROJECT_ID"
         prefix  = "terraform/state"
       }
    }
    
  8. 运行 terraform init。此过程会初始化包含 Terraform 配置文件和后端的工作目录。
  9. 执行测试运行,以查看运行 Terraform 计划和验证 Terraform 代码的结果。输出示例:
    ...
    Plan: 6 to add, 0 to change, 0 to destroy.
    Note: You didn't use the -out option to save this plan, so Terraform can't
    guarantee to take exactly these actions if you run "terraform apply" now.
    
  10. 运行 terraform apply 以应用配置,这会将资源部署到 GCP。出现提示时,输入“yes”。
  11. 进入界面以验证资源现在已部署到您的帐号/项目中。

使用 Terraform、Cloud Build 和 GitOps 以代码形式管理基础架构

我们建议您参阅此教程,了解完整说明。此选项适用于希望以可预测的方式反复更改基础架构的平台管理员和操作者。本指南假设您熟悉 Google Cloud、Linux 和 GitHub。此选项的简要步骤如下:

  1. 设置 GitHub 代码库。
  2. 将 Terraform 配置为在 Cloud Storage 存储分区中存储状态。
  3. 向您的 Cloud Build 服务帐号授予权限。
  4. 将 Cloud Build 连接到您的 GitHub 代码库。
  5. 更改功能分支中的环境配置。
  6. 推广对开发环境的更改。
  7. 将更改升级到生产环境。