1.7.10.1. graph
terraform graph
命令可以用来生成代码描述的基础设施或是执行计划的可视化图形。它的输出是 DOT 格式),可以使用 GraphViz 来生成图片,也有许多网络服务可以读取这种格式。
1.7.10.1.1. 用法
terraform graph [options]
默认情况下,该命令输出一个简化图,仅描述配置中资源(resource
和 data
块)的依赖顺序。
-type=...
参数可以在一组具有更多细节的其他图类型中进行选择,但作为代价,它也暴露了 Terraform 语言运行时的一些实现细节。
参数:
-plan=tfplan
:针对指定计划文件生成图。使用该参数暗示着-type=apply
。-draw-cycles
:用彩色的边高亮图中的环,这可以帮助我们分析代码中的环错误(Terraform 禁止环状依赖)。该参数只有在通过-type=...
参数指定了操作类型时有效。-type=...
:生成图表的类型,默认生成只包含resource
的简化图。可以是:plan
、plan-destroy
或是apply
。
1.7.10.1.2. 创建图片文件
terraform graph
命令输出的是 DOT 格式)的数据,可以轻松地使用 GraphViz 转换为图形文件:
$ terraform graph -type=plan | dot -Tpng >graph.png
输出的图片大概是这样的:
1.7.10.1.3. 如何安装GraphViz
安装GraphViz也很简单,对于Ubuntu:
$ sudo apt install graphviz
对于CentOS:
$ sudo dnf install graphviz
对于Windows,也可以使用choco:
> choco install graphviz
对于Mac用户:
$ brew install graphviz