当前位置:   article > 正文

Terraform基础(三)-terraform命令行_terraform plan

terraform plan

概述

        Terraform 的命令行界面是通过terraform命令,它接受各种子命令,例如terraform init或terraform plan。

        要查看当前 Terraform 版本中可用的命令列表,请在不带其他参数的情况下运行terraform。

格式:terraform [global options] <subcommand> [args]

全局选项

使用全局选项时,一定要在子命令之前

  1. -chdir=DIR         #在执行子命令之前,切换到其他工作目录
  2. -help              #输出帮助文档
  3. -version           #输出版本信息

子命令

常用子命令

  1. Main commands:
  2. init #初始化工作目录
  3. validate #验证配置是否有效
  4. plan #显示当前配置所需要发生的更改(计划)
  5. apply #创建或更新配置对应的基础设施(执行)
  6. destroy #销毁所有之前创建的基础设施(慎用!!!最好只在测试时用)

init

        只有执行完terraform init初始化工作目录之后,才可以执行其他的terraform子命令。

        初始化后目录下会生成一个隐藏目录.terraform,用来管理缓存的插件和模块;生成terraform.tfstate状态文件。

        重新初始化——一般在更改providers、模块版本等后,需要重新初始化。但实际上可以随时执行terraform init命令,因为它是幂等的,如果不需要改变,命令将不会执行任何操作。

plan

        terraform plan命令不会对真实的基础资源做任何更改。它只是对比配置文件期望的资源状态和状态文件之间的差异,确定当前状态和期望状态之间的差异后提出一个改变计划。通过terraform提出的计划,你可以确定计划是否满足你的预期。

apply

        terraform apply命令在用户确认后会调用相关基础设施提供商的API执行对每一个资源的计划更改。

destroy

        terraform destroy命令会根据配置文件中的资源内容,销毁所有配置文件中的资源。和terraform apply一样,在销毁之前会列出将要销毁的资源清单,并要求用户确认。

其他子命令

  1. All other commands:
  2. console #交互模式下,用于验证Terraform表达式。
  3. fmt #以标准样式格式化配置文件
  4. force-unlock #释放当前工作区上卡住的锁
  5. get #安装或更新远程terraform模块(下载provider)
  6. graph #生成一次操作的Graphviz步骤图,以dot格式输出。
  7. import #将已存在的基础设施与Terraform资源关联
  8. output #显示根模块输出值
  9. providers #显示配置文件对应需要的providers
  10. show #显示当前状态或已保存的计划
  11. state #高级状态管理
  12. taint #给资源实例标记污点
  13. untaint #移除资源实例标记的污点
  14. version #显示Terroform版本
  15. workspace #工作空间管理
  16. login #登陆。不常用。一般用于Terraform Cloud。
  17. logout #登出。不常用。一般用于Terraform Cloud。
  18. refresh #更新状态以匹配远程系统。不常用。一般用于Terraform Cloud。

graph

Graphviz官网:http://www.graphviz.org/

输出dot格式。可以在windows或者linux环境安装graphviz生成png图片。 

 命令行生成图片:

dot gv-test.gv -Tpng -o image-gv.png

使用Tab补全子命令

如果使用bash或者zsh作为命令行shell,可以启动子命令自动补全功能。但目前并非所有子命令都能自动补全。

安装完成后,需要重启你的shell或者重新读取它的profile脚本,才会激活完成。

  1. #启动子命令补全功能
  2. terraform -install-autocomplete
  3. #关闭子命令补全功能
  4. terraform -uninstall-autocomplete

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/184896
推荐阅读
相关标签
  

闽ICP备14008679号