Terraform
迁移到 HCP Terraform
tf-migrate CLI 将现有的 Terraform 状态迁移到 HCP Terraform 或 Terraform Enterprise。
tf-migrate CLI 会自动将你的 Terraform Community Edition 状态和变量值迁移到 HCP Terraform 或 Terraform Enterprise。它还会使用新的状态存储位置更新你的本地配置,并可以选择创建拉取请求来更新你的代码仓库。
动手实践:完成批量迁移到 HCP Terraform教程,以开始使用 tf-migrate。
概述
完成以下步骤以安装和配置 tf-migrate
- 下载并安装
tf-migrate. - 配置 `tf-migrate` 以认证到 HCP Terraform 或 Terraform Enterprise。
- 可选地认证您的VCS提供程序,使用您的版本控制提供商 API 密钥来创建包含您的配置更改的拉取请求。
- 可选地启用日志记录,以便您可以排查迁移过程中可能出现的问题。
支持的后端
`tf-migrate` 工具支持将状态从以下后端迁移到 HCP Terraform 或 Terraform Enterprise
`tf-migrate` CLI 不支持从现有的 `cloud` 集成或 `remote` 后端迁移状态。
支持的工作空间工作流
`tf-migrate` 工具可以创建 CLI 或 VCS 驱动的 HCP Terraform 工作空间。只有在您满足以下要求时,它才会提示您创建 VCS 驱动的工作空间
- 您的本地配置是一个 Git 仓库。
- 您的本地 Git 仓库已将 GitHub、GitLab 或 Bitbucket 配置为远程仓库。
- 您的 HCP Terraform 组织至少配置了一个用于 GitHub、GitLab 或 Bitbucket 的 VCS OAuth 连接。
如果您的 HCP Terraform 组织配置了多个 VCS 连接,`tf-migrate` 将要求您选择要使用的 VCS 连接。
如果您的本地配置不满足以上所有要求,`tf-migrate` 将自动创建一个 CLI 驱动的工作空间。
从工作空间迁移到堆栈
`tf-migrate` CLI 可以将 Terraform 配置和状态从一个或多个 HCP Terraform 工作空间迁移到堆栈。有关更多信息,请参阅 将工作空间迁移到堆栈。
启用日志记录
您可以通过设置环境变量 TF_MIGRATE_ENABLE_LOG 为 true 来启用详细日志记录。启用此设置后,tf-migrate 会根据您的操作系统将日志写入以下位置
| 平台 | 位置 |
|---|---|
| macOS 和 Linux | /Users/<用户名>/.tf-migrate/logs/<命令名>/<日期>.log |
| Windows | C:\Users\<用户名>\.tf-migrate\logs\<命令名>\<日期>.log |
您可以将环境变量 TF_MIGRATE_LOG_LEVEL 设置为以下值之一,以改变日志的详细程度(详细程度递减)
附加配置
您可以创建一个可选的配置文件来修改 tf-migrate CLI 行为,并在运行 tf-migrate prepare 时指定配置文件的路径。您提供的任何命令行标志都将覆盖配置文件。请参阅配置参考以获取更多信息。