SuperAPI AI 工具集

terraform

部署与运维

查看项目

更新于 10-22 19:40

技能介绍

Terraform 是一个基础设施即代码(Infrastructure as Code)命令行工具,可通过配置文件规划、创建和销毁基础设施,并管理状态与工作区。

安装与校验:在 macOS 上可用 brew install terraform 安装,随后执行 terraform --version 验证安装是否成功。

主要能力(按资料整理):

  1. 工作流:terraform init 初始化工作目录并下载 provider;init -upgrade 升级 provider 至允许的最新版本;plan 预览变更,plan -out=tfplan 将计划保存到文件;apply 在确认提示后应用变更,apply -auto-approve 跳过确认,apply tfplan 应用已保存的计划文件;destroy 销毁全部受管基础设施,destroy -auto-approve 跳过确认,destroy -target=aws_instance.example 销毁指定资源。
  2. 校验与格式化:fmt 格式化配置文件,fmt -recursive 递归格式化子目录文件,fmt -check 只检查格式而不修改;validate 校验配置语法。
  3. 状态管理:show 查看当前状态或已保存的计划,show -json 以 JSON 输出;state list 列出状态中的全部资源,state show <resource> 查看资源详情,state mv <source> <destination> 移动状态中的资源,state rm <resource> 从状态中移除资源,state pull 拉取远程状态到标准输出,state push 推送本地状态到远程。
  4. 导入与输出:import <resource> <id> 将现有基础设施导入状态;output 显示全部输出值,output <name> 显示指定输出值,output -json 以 JSON 输出。
  5. 工作区:workspace list 列出全部工作区,workspace show 显示当前工作区,workspace new <name> 新建工作区,workspace select <name> 切换工作区,workspace delete <name> 删除工作区。
  6. 其他命令:graph 生成依赖关系可视化图,providers 显示所需 provider,refresh 依据真实基础设施刷新状态,taint <resource> 标记资源以便重建,untaint <resource> 取消该标记。
  7. 全局参数:-var 'key=value' 设置变量值,-var-file=<file> 从文件加载变量,-target=<resource> 指定目标资源,-parallelism=<n> 限制并发操作数,-json 以 JSON 格式输出,-no-color 关闭彩色输出。

使用方式:典型流程为先 init 初始化,再 plan 预览,确认后 apply 应用;销毁时使用 destroy。可配合保存的计划文件与输出变量传递结果。

适用场景:适用于需要用代码化方式声明和管理基础设施、审查变更、管理状态与多工作区的运维与开发场景。

限制:资料仅为命令速查表,未提供具体的云平台支持范围、收费与授权模式、版本兼容性、安全注意事项或操作示例,相关内容暂未提供。