乐趣区

关于devops:Rover-Terraform执行计划可视化工具

之前咱们通过一篇文章入门了应用 Terrafrom 以申明式配置文件(可版本化的代码)来创立和治理基础设施资源。
在应用命令 terraform apply 之前,咱们通常应用 terraform plan 来查看执行打算,输入的执行打算以相似“git diff”的文本形式形容。这里咱们将介绍如何以图形可是化的形式来理解执行打算。

Terrafrom Graph

首先 Terraform CLI 工具自带了一个子命令 – graph,graph 命令用于生产配置和执行打算的图形示意,其输入是 DOT 格局,能够通过 Graphviz 转化为图片,例如在 Linux 终端下

❯ terraform graph | dot -Tsvg > graph.svg

对于简略的我的项目(治理的资源对象比拟的状况),咱们能够通过这个图形理解资源对象的关系。然而如果一个项目管理了大量的资源对象,应用 graph 生成的图形会显得错中简单,而且图形文件也比拟宏大。

那接下咱们将介绍一款开源的可视化工具。

Rover

Rover 是一款开源的,可交互的 Terraform 配置和执行打算可视化工具,其通过 Web 服务的形式,是咱们能够通过浏览器查看生成的图形,并进行一些交互操作。

应用 Rover 非常容易,能够从其 Github 我的项目的 Release 下载为各平台编译好的二进制文件(命令)来运行,也能够通过 Docker 容器的形式运行。

如果应用下载的二进制文件,将下载好的二进制文件(例如 rover_v0.2.2)放到 PATH 门路下,例如 /usr/local/bin/rover,接下來在 Terraform 我的项目的文件夹下执行

❯ rover
2021/11/26 16:59:34 Starting Rover...
2021/11/26 16:59:34 Initializing Terraform...
2021/11/26 16:59:35 Generating plan...
2021/11/26 16:59:37 Parsing configuration...
2021/11/26 16:59:37 Generating resource overview...
2021/11/26 16:59:37 Generating resource map...
2021/11/26 16:59:37 Generating resource graph...
2021/11/26 16:59:37 Done generating assets.
2021/11/26 16:59:37 Rover is running on 0.0.0.0:9000

运行 rover 命令,其将会执行以下操作

  1. 解析目录下的配置文件,并通过 Terraform plan 生成执行打算文件
  2. 解析打算和配置文件,生成 3 种对象:资源概览(rso),资源映射图(map),资源图(graph)
  3. 应用下面的 3 中对象,将其转换为可交互的配置和状态视图,以 Web 服务器运行在本地的 9000 端口

咱们能够通过浏览器拜访 http://localhost:9000/ 来查看可视化的后果。

整个页面蕴含 4 个局部

LEGEND – 该局部是对图例的一些阐明

GRAPH – 这部分是整个资源关系和状态的视图,可应用鼠标进行缩放,拖拽,以及抉择某一个资源

RESOURCES – 资源文件的映射列表,事实了资源在配置文件中的定义地位,同时也能够应用鼠标进行抉择

DETAILS – 详细信息视图,当应用鼠标抉择了 GRAPH 或者 RESOURCES 视图中的资源对象时,这里将事实其具体的信息

通过与 terraform graph 生成的图形比照,Rover 展现了更加丰盛和好看的视图,让咱们能以可视化的形式充沛了解我的项目所治理的资源。

留神的问题

  1. Rover 还不反对应用了“remote”– Backend 的我的项目,因为还没方法将执行打算保留到本地

介绍视频

HashiCrop 的工程师 Tu Nguyen,也就是 Rover 的开发者,在 Youtube 上公布了他介绍 Rover 的视频


同时公布在 ROVER – TERRAFORM 执行打算可视化工具

退出移动版