赞
踩
Terraform 的命令行界面是通过terraform命令,它接受各种子命令,例如terraform init或terraform plan。
要查看当前 Terraform 版本中可用的命令列表,请在不带其他参数的情况下运行terraform。
格式:terraform [global options] <subcommand> [args]
使用全局选项时,一定要在子命令之前
- -chdir=DIR #在执行子命令之前,切换到其他工作目录
-
- -help #输出帮助文档
-
- -version #输出版本信息
- Main commands:
- init #初始化工作目录
- validate #验证配置是否有效
- plan #显示当前配置所需要发生的更改(计划)
- apply #创建或更新配置对应的基础设施(执行)
- destroy #销毁所有之前创建的基础设施(慎用!!!最好只在测试时用)
只有执行完terraform init初始化工作目录之后,才可以执行其他的terraform子命令。
初始化后目录下会生成一个隐藏目录.terraform,用来管理缓存的插件和模块;生成terraform.tfstate状态文件。
重新初始化——一般在更改providers、模块版本等后,需要重新初始化。但实际上可以随时执行terraform init命令,因为它是幂等的,如果不需要改变,命令将不会执行任何操作。
terraform plan命令不会对真实的基础资源做任何更改。它只是对比配置文件期望的资源状态和状态文件之间的差异,确定当前状态和期望状态之间的差异后提出一个改变计划。通过terraform提出的计划,你可以确定计划是否满足你的预期。
terraform apply命令在用户确认后会调用相关基础设施提供商的API执行对每一个资源的计划更改。
terraform destroy命令会根据配置文件中的资源内容,销毁所有配置文件中的资源。和terraform apply一样,在销毁之前会列出将要销毁的资源清单,并要求用户确认。
- All other commands:
- console #交互模式下,用于验证Terraform表达式。
- fmt #以标准样式格式化配置文件
- force-unlock #释放当前工作区上卡住的锁
- get #安装或更新远程terraform模块(下载provider)
- graph #生成一次操作的Graphviz步骤图,以dot格式输出。
- import #将已存在的基础设施与Terraform资源关联
- output #显示根模块输出值
- providers #显示配置文件对应需要的providers
- show #显示当前状态或已保存的计划
- state #高级状态管理
- taint #给资源实例标记污点
- untaint #移除资源实例标记的污点
- version #显示Terroform版本
- workspace #工作空间管理
- login #登陆。不常用。一般用于Terraform Cloud。
- logout #登出。不常用。一般用于Terraform Cloud。
- refresh #更新状态以匹配远程系统。不常用。一般用于Terraform Cloud。
Graphviz官网:http://www.graphviz.org/
输出dot格式。可以在windows或者linux环境安装graphviz生成png图片。
命令行生成图片:
dot gv-test.gv -Tpng -o image-gv.png
如果使用bash或者zsh作为命令行shell,可以启动子命令自动补全功能。但目前并非所有子命令都能自动补全。
安装完成后,需要重启你的shell或者重新读取它的profile脚本,才会激活完成。
- #启动子命令补全功能
- terraform -install-autocomplete
-
- #关闭子命令补全功能
- terraform -uninstall-autocomplete
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。