Ich dachte, es wäre gut, den Artikel "Zeichnen eines Systemkonfigurationsdiagramms in Python mit Diagrams | Developers.IO" zu sehen, aber Python Ich hatte keine Umgebung, also habe ich es mit Docker versucht.
Offizielle Dokumentation lautet "Diamanten mit" pip "installieren," Graphviz "installieren Erstellen Sie also eine entsprechende Docker-Datei.
Dockerfile
FROM python:latest
WORKDIR /app
RUN apt update && \
apt install -y python3-pygraphviz && \
pip install diagrams
Bauen. Bewahren Sie ein Docker-Image mit dem Namen "Diagramme" auf, um es später einfach ausführen zu können.
$ docker build -t diagrams .
Damit ist die Erstellung des Docker-Images "Diagramme: Neuestes" abgeschlossen.
Bereiten Sie die Datei Official Quickstart vor.
diagram.py
from diagrams import Diagram
from diagrams.aws.compute import EC2
from diagrams.aws.database import RDS
from diagrams.aws.network import ELB
with Diagram("Web Service", show=False):
ELB("lb") >> EC2("web") >> RDS("userdb")
Die Bedeutung ist relativ intuitiv, aber siehe das offizielle Dokument für weitere Details. Offizielles Dokument Englisch, aber leicht zu lesen, da es einfach und klein ist. Auch Beispiele ist leicht zu verstehen.
Laut offizieller Dokumentation können Sie eine lokale Python-Umgebung mit $ python chart.py
ausführen.
Da wir diesmal einen Docker-Container verwenden, ist es in Ordnung, wenn wir das aktuelle Verzeichnis, in dem diagramm.py
erstellt wird, mounten und den Befehl python chart.py
ausführen.
Derzeit sieht das aktuelle Verzeichnis so aus.
$ ls
Dockerfile diagram.py
Führen Sie den Container aus.
$ docker run --rm -v `pwd`:/app diagrams python diagram.py
Wenn Sie erneut "ls" eingeben, wird eine "png" -Datei generiert.
$ ls
Dockerfile diagram.py web_service.png
Überprüfen Sie den Inhalt von web_service.png
.
$ open web_service.png
Das Ergebnis entspricht dem offiziellen Schnellstart!
Ich konnte Diagramme einfach mit Docker ausprobieren. Ich habe Beispiele ausprobiert und ein Konfigurationsdiagramm erstellt, wie ich es erstellen wollte, aber alles, was ich sagen kann, ist "es kann per Code verwaltet werden", "einfach und leicht zu sehen" und "viele Knoten (wie Symbole)". Auf der anderen Seite kann es beim Jucken sein, wenn es kompliziert wird, wie "Knotenplatzierung ist nicht vorhanden!" Und es scheint, dass Sie keinen Cluster schreiben können, der sich über Cluster erstreckt. Wenden Sie also dieselbe Sicherheitsgruppe auf verschiedene AZ-Instanzen an. Ich hatte das Gefühl, dass es schwierig war, so etwas auszudrücken.
In jedem Fall ist es einen Versuch wert.
References
Recommended Posts