简介
Diagram as Code 工具允许您创建基础架构的架构图。您可以重复使用代码、测试、集成和自动化绘制图表的过程,这将使您能够将文档视为代码,并构建用于映射基础架构的流水线。您可以使用 diagrams
脚本与许多云提供商和自定义基础架构。
在本教程中,您将使用 Python 创建一个基本的图表,并将其上传到对象存储桶。完成后,您将了解 diagrams
脚本的工作原理,从而能够创建新的集成。
步骤 1 — 安装 Graphviz
在这一步中,您将安装 Graphviz 工具。Graphviz 是 diagrams
模块的引擎,它生成图表本身。
首先,更新服务器的软件包:
sudo apt update
然后,使用以下命令安装 Graphviz:
sudo apt install -y graphviz
-y
选项会自动回答安装过程中的任何额外提示。您也可以下载其他发行版的 Graphviz。
安装完成后,您将拥有安装的 Graphviz。
因为您将在本教程后面使用 Pip3 安装 Python 依赖项,您可以检查您是否有正确的版本:
pip3 --version
您应该会看到类似以下的内容:
pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)
在这一步中,您更新了服务器,安装了 Graphviz,并检查了 Pip 的版本。接下来,您将构建 diagrams
脚本。
步骤 2 — 构建 Python 脚本
在这一步中,您将在 Python 中编写一个示例图表脚本。
首先,创建一个工作文件夹:
mkdir ~/my-diagram
创建项目文件夹后,使用以下命令进入该文件夹:
cd ~/my-diagram
然后,创建一个 requirements.txt
文件以跟踪项目依赖项:
echo -e "diagrams==0.21.1\ngraphviz==0.16" | tee requirements.txt
此命令有两个关键字:echo
将打印字符串,-e
选项将使用 \n
插入来解析新行,以创建一个格式良好的 requirements 文件。
|
符号表示将 echo 语句的结果传递给管道。tee
命令接受管道输入,并根据列出的参数创建一个新文件:在本例中,是 requirements.txt
。
Python 中的 requirements.txt
文件提供了运行脚本所需的模块列表。目前,该项目有两个依赖项。
创建文件后,您将看到以下输出:
diagrams=0.21.1
graphviz=0.16
此显示指示了两个工具的版本号。
现在,您将编写 Python 脚本以创建图表图像。
确保您仍在创建的目录中:
cd ~/my-diagram
接下来,使用 nano
或您喜欢的文本编辑器打开一个新文件:
nano my-diagram.py
添加以下代码:
from diagrams import Diagram, Cluster, Edge
此行将导入创建通用图表元素所需的图表部件。
接下来,您必须导入绘制您将构建的 DigitalOcean 基础架构所需的内容。在本示例中,您将创建一个图表,显示两个 Droplets 连接到一个数据库,并且所有主机都将日志发送到一个 Logstash 实例。
添加以下行以导入 Droplet、DbaasPrimary 和 Logstash 图标:
.