我正在尝试创建haproxy重定向的表示形式,并且还链接到haproxy后面的服务。
我有以下点代码:
digraph structs {
node [shape=plaintext]
subgraph cluster_haproxy {
label = "haproxy";
haproxy [label=<
<TABLE BORDER="3" CELLBORDER="1" CELLSPACING="50">
<TR>
<TD PORT="80">80</TD>
<TD PORT="443">443</TD>
</TR>
</TABLE>
>];
}
subgraph cluster_service001 {
label = "service001";
service001 [label=<
<TABLE BORDER="3" CELLBORDER="1" CELLSPACING="4">
<TR>
<TD PORT="123456789">123456789</TD>
</TR>
</TABLE>
>];
}
haproxy:80:e -> haproxy:443:w;
haproxy:443 -> service001:123456789;
}
在此图像中显示,显示端口80被重定向到端口443:
我要实现的只是从80到443的直线箭头,没有任何曲线。
请注意,同一条线上可能会有更多端口。
我尝试添加splines=line
我在基于记录的节点上进行了尝试,给它们一个rank=same
以使它们彼此相邻,但这给了我这个错误消息:
警告:相邻节点之间的平坦边缘,其中一个具有记录形状-用类似HTML的标签替换记录
我尝试过box
形状,但是从左到右的顺序排列错误。
这里的想法用光了。任何有关如何正确地做这样的事情的建议,将不胜感激。
GraphViz不处理节点Vell中的内部边缘
我建议您改为以下两个级别的群集:
digraph structs {
node [shape=plaintext]
subgraph cluster_haproxy {
label = "haproxy";
subgraph cluster_haproxy2 {
penwidth=3
label=""
node[shape=rect]
{rank=same
80
443}
}
}
subgraph cluster_service001 {
label = "service001";
subgraph cluster_service001 {
penwidth=3
label=""
123456789[shape=rect]
}
}
80 -> 443
443 -> 123456789
}