尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Terraform Cloud 迁移到 OTF 的 5 步方法:State 迁移完整指南

Terraform Cloud 迁移到 OTF 的 5 步方法:State 迁移完整指南 Terraform Cloud 迁移到 OTF 的 5 步方法State 迁移完整指南【免费下载链接】otfAn open source alternative to terraform enterprise.项目地址: https://gitcode.com/gh_mirrors/ot/otfOTFOpen Terraforming Framework是 Terraform Enterprise / Terraform Cloud 的开源替代方案支持 SSO、团队管理、Agent且不按资源收费。得益于与 TFC 高度一致的remotebackend 协议把现有 Terraform state 从 Terraform Cloud 迁移到 OTF 只需修改一个 hostname无需导出、无需脚本。为什么选择 OTF 替代 Terraform Cloud零许可费用完全开源无按资源计费数据自主可控state 存储在自己的服务器平滑迁移remotebackend 配置几乎零改动API 兼容实现了大部分 Terraform Enterprise API原有 TFE provider 脚本可继续用官方迁移文档见docs/docs/tfc_migration.md本文在此基础上整理成新手可直接照做的步骤。迁移前准备先认识 OTF 的 state 管理界面state 迁移完成后你可以在工作区的State标签页查看每一个 state 版本。下图是 OTF 的 State versions 列表页迁移成功时这里会出现一条current版本记录第 1 步修改 backend 配置只需改一行如果你用的是remotebackend原配置长这样以 TFC 为例terraform { backend remote { hostname app.terraform.io # ← 只需改这一行 organization automatize workspaces { name my-workspace } } }把hostname换成你的 OTF 服务器地址如otf.example.com即可。organization 与 workspace 名称建议保持与原来一致OTF 会自动创建同名工作区。第 2 步cloud block 用户的特殊处理如果你使用的是较新的cloudblockTerraform不允许在该模式下迁移 state需要临时改回remotebackendterraform { backend remote { hostname app.terraform.io organization automatize workspaces { name my-workspace } } }然后删除本地缓存目录rm -r .terraform再按下面第 3、4 步执行迁移。完成后可随时切回cloudblock见文末。第 3 步登录 OTF 服务器terraform login otf.example.com这一步会在~/.terraform.d/credentials.tfrc.json中写入 OTF 的访问凭证Terraform CLI 与 OTF 的otfCLI 共用同一份凭证文件。第 4 步执行 state 迁移核心命令terraform init -migrate-stateTerraform 会检测到 backend 变更询问是否把旧 backend 的 state 复制到新 backendDo you want to copy existing state to the new backend? Enter a value: yes输入yesstate 即被上传到 OTF 对应的工作区。看到Successfully configured the backend remote!说明迁移已完成。第 5 步在 OTF 界面验证 state 迁移结果打开工作区 → State 标签页确认迁移上来的版本存在且状态为finalized。点击 Diff 可以查看该版本相对上一版的资源变更点击 View 可以查看完整的 state JSON 内容逐一核对资源是否齐全也可以在 Web 上直接发起一次 runplan 输出正常说明 state 已被正确识别迁移后收尾切回 cloud block可选如果你想使用 workspace tags 等新特性可把配置改回cloudblock 并指向 OTFterraform { cloud { hostname otf.example.com organization automatize workspaces { name my-workspace } } }然后重新执行terraform init并回答yes即可完成切换。注意此时 Terraform 并不会再次复制 state——你的 state 早已在第 4 步上传到了 OTF。迁移后常用 state 管理命令OTF 自带otfCLIstate 相关能力完整实现见internal/state/cli/cli.go命令用途otf state list列出所有 state 版本otf state download id下载指定版本的 state 文件otf state rollback id回滚到历史版本otf state delete id删除某个 state 版本凭证获取方式运行terraform login otfd 主机名即可。常见问题FAQ迁移会影响线上资源吗不会。迁移只复制 state 文件不触发任何 plan/apply资源本身不动。从 S3 / 本地等其他 backend 迁移可以吗可以。把原 backend 块直接替换为指向 OTF 的cloudblock然后terraform init并回答yes流程与本文一致。OTF 兼容 TFE API 吗实现了大部分 Terraform Enterprise API因此hashicorp/tfeprovider 也可用于管理 OTF兼容性说明见docs/docs/tfe_api.md。想先了解 OTF 部署方式参考官方文档docs/docs/install.md与docs/docs/quickstart.md。写在最后从 Terraform Cloud 到 OTF 的 state 迁移核心就是改 hostname → 登录 →terraform init -migrate-state三件事通常十分钟即可完成一个工作区。state 安全落库后你就可以把 VCS 集成、Agent、团队权限等 OTF 的其余能力逐步接入了。【免费下载链接】otfAn open source alternative to terraform enterprise.项目地址: https://gitcode.com/gh_mirrors/ot/otf创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表