Skip to content

Instantly share code, notes, and snippets.

@akutz
Last active December 20, 2019 16:27
Show Gist options
  • Save akutz/3306529e74d87d0b890793dc68f9ba8c to your computer and use it in GitHub Desktop.
Save akutz/3306529e74d87d0b890793dc68f9ba8c to your computer and use it in GitHub Desktop.

Based on fergal's description:

So we sit behind a VPN. Users create a Network Domain and VLAN (done through F5) and then deploy machines on that VLAN. Machines automatically get a Public IPV6 accessible from outside the VLAN (once connected to VPN) and an IPV4 local to the VLAN. So i want to be able to have the same network setup, where i create a Cluster API Management Node on my own VLAN. But i want that cluster manager to be able to create a Cluster via IPV6 on other VLANs. I dont mind how the cluster itself is set to communicate between its own nodes once set up

The following diagram was created (puml):

fergal-network

@startuml fergal-deployment
package "VPN" as vpn {
package "VLAN 1" as vlan_1 {
package "Management cluster" as mc {
[Control plane] as mccp
[Worker node 1] as mcwn1
[Worker node 2] as mcwn2
mccp ~~> mcwn1 : ipv4
mccp ~~> mcwn2 : ipv4
}
}
package "VLAN 2" as vlan_2 {
package "Workload cluster A" as wca {
[Control plane] as wcacp
[Worker node 1] as wcawn1
[Worker node 2] as wcawn2
wcacp ~~> wcawn1 : ipv4
wcacp ~~> wcawn2 : ipv4
}
package "Workload cluster B" as wcb {
[Control plane] as wcbcp
[Worker node 1] as wcbwn1
[Worker node 2] as wcbwn2
wcbcp ~~> wcbwn1 : ipv4
wcbcp ~~> wcbwn2 : ipv4
}
}
package "VLAN 3" as vlan_3 {
package "Workload cluster C" as wcc {
[Control plane] as wcccp
[Worker node 1] as wccwn1
[Worker node 2] as wccwn2
wcccp ~~> wccwn1 : ipv4
wcccp ~~> wccwn2 : ipv4
}
}
package "VLAN 4" as vlan_4 {
package "Workload cluster D" as wcd {
[Control plane] as wcdcp
[Worker node 1] as wcdwn1
[Worker node 2] as wcdwn2
wcdcp ~~> wcdwn1 : ipv4
wcdcp ~~> wcdwn2 : ipv4
}
}
}
mc ~~> wca : ipv6
mc ~~> wcb : ipv6
mc ~~> wcc : ipv6
mc ~~> wcd : ipv6
@enduml
Display the source blob
Display the rendered blob
Raw
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="637px" preserveAspectRatio="none" style="width:2130px;height:637px;" version="1.1" viewBox="0 0 2130 637" width="2130px" zoomAndPan="magnify"><defs><filter height="300%" id="fvitb8k739d8w" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><!--cluster vpn--><polygon fill="#FFFFFF" filter="url(#fvitb8k739d8w)" points="22,24,58,24,65,46.4883,2108,46.4883,2108,625,22,625,22,24" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="22" x2="65" y1="46.4883" y2="46.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="30" x="26" y="39.5352">VPN</text><!--cluster vlan_1--><polygon fill="#FFFFFF" filter="url(#fvitb8k739d8w)" points="46,67,105,67,112,89.4883,444,89.4883,444,446,46,446,46,67" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="46" x2="112" y1="89.4883" y2="89.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="53" x="50" y="82.5352">VLAN 1</text><!--cluster mc--><polygon fill="#FFFFFF" filter="url(#fvitb8k739d8w)" points="78,118,230,118,237,140.4883,412,140.4883,412,414,78,414,78,118" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="78" x2="237" y1="140.4883" y2="140.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="146" x="82" y="133.5352">Management cluster</text><!--cluster vlan_2--><polygon fill="#FFFFFF" filter="url(#fvitb8k739d8w)" points="468,260,527,260,534,282.4883,1240,282.4883,1240,601,468,601,468,260" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="468" x2="534" y1="282.4883" y2="282.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="53" x="472" y="275.5352">VLAN 2</text><!--cluster wca--><polygon fill="#FFFFFF" filter="url(#fvitb8k739d8w)" points="500,311,643,311,650,333.4883,834,333.4883,834,569,500,569,500,311" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="500" x2="650" y1="333.4883" y2="333.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="137" x="504" y="326.5352">Workload cluster A</text><!--cluster wcb--><polygon fill="#FFFFFF" filter="url(#fvitb8k739d8w)" points="874,311,1016,311,1023,333.4883,1208,333.4883,1208,569,874,569,874,311" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="874" x2="1023" y1="333.4883" y2="333.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="136" x="878" y="326.5352">Workload cluster B</text><!--cluster vlan_3--><polygon fill="#FFFFFF" filter="url(#fvitb8k739d8w)" points="1264,260,1323,260,1330,282.4883,1662,282.4883,1662,601,1264,601,1264,260" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="1264" x2="1330" y1="282.4883" y2="282.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="53" x="1268" y="275.5352">VLAN 3</text><!--cluster wcc--><polygon fill="#FFFFFF" filter="url(#fvitb8k739d8w)" points="1296,311,1439,311,1446,333.4883,1630,333.4883,1630,569,1296,569,1296,311" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="1296" x2="1446" y1="333.4883" y2="333.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="137" x="1300" y="326.5352">Workload cluster C</text><!--cluster vlan_4--><polygon fill="#FFFFFF" filter="url(#fvitb8k739d8w)" points="1686,260,1745,260,1752,282.4883,2084,282.4883,2084,601,1686,601,1686,260" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="1686" x2="1752" y1="282.4883" y2="282.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="53" x="1690" y="275.5352">VLAN 4</text><!--cluster wcd--><polygon fill="#FFFFFF" filter="url(#fvitb8k739d8w)" points="1718,311,1862,311,1869,333.4883,2052,333.4883,2052,569,1718,569,1718,311" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="1718" x2="1869" y1="333.4883" y2="333.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="138" x="1722" y="326.5352">Workload cluster D</text><!--entity mccp--><rect fill="#FEFECE" filter="url(#fvitb8k739d8w)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="162" y="161"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="157" y="166"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="157" y="187.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="94" x="172" y="184.5352">Control plane</text><!--entity mcwn1--><rect fill="#FEFECE" filter="url(#fvitb8k739d8w)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="121" x="102.5" y="354"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="97.5" y="359"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="97.5" y="380.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="101" x="112.5" y="377.5352">Worker node 1</text><!--entity mcwn2--><rect fill="#FEFECE" filter="url(#fvitb8k739d8w)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="121" x="258.5" y="354"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="253.5" y="359"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="253.5" y="380.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="101" x="268.5" y="377.5352">Worker node 2</text><!--entity wcacp--><rect fill="#FEFECE" filter="url(#fvitb8k739d8w)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="574" y="354"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="569" y="359"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="569" y="380.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="94" x="584" y="377.5352">Control plane</text><!--entity wcawn1--><rect fill="#FEFECE" filter="url(#fvitb8k739d8w)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="121" x="532.5" y="509"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="527.5" y="514"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="527.5" y="535.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="101" x="542.5" y="532.5352">Worker node 1</text><!--entity wcawn2--><rect fill="#FEFECE" filter="url(#fvitb8k739d8w)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="121" x="688.5" y="509"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="683.5" y="514"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="683.5" y="535.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="101" x="698.5" y="532.5352">Worker node 2</text><!--entity wcbcp--><rect fill="#FEFECE" filter="url(#fvitb8k739d8w)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="948" y="354"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="943" y="359"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="943" y="380.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="94" x="958" y="377.5352">Control plane</text><!--entity wcbwn1--><rect fill="#FEFECE" filter="url(#fvitb8k739d8w)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="121" x="906.5" y="509"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="901.5" y="514"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="901.5" y="535.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="101" x="916.5" y="532.5352">Worker node 1</text><!--entity wcbwn2--><rect fill="#FEFECE" filter="url(#fvitb8k739d8w)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="121" x="1062.5" y="509"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="1057.5" y="514"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="1057.5" y="535.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="101" x="1072.5" y="532.5352">Worker node 2</text><!--entity wcccp--><rect fill="#FEFECE" filter="url(#fvitb8k739d8w)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="1370" y="354"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="1365" y="359"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="1365" y="380.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="94" x="1380" y="377.5352">Control plane</text><!--entity wccwn1--><rect fill="#FEFECE" filter="url(#fvitb8k739d8w)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="121" x="1328.5" y="509"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="1323.5" y="514"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="1323.5" y="535.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="101" x="1338.5" y="532.5352">Worker node 1</text><!--entity wccwn2--><rect fill="#FEFECE" filter="url(#fvitb8k739d8w)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="121" x="1484.5" y="509"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="1479.5" y="514"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="1479.5" y="535.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="101" x="1494.5" y="532.5352">Worker node 2</text><!--entity wcdcp--><rect fill="#FEFECE" filter="url(#fvitb8k739d8w)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="1792" y="354"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="1787" y="359"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="1787" y="380.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="94" x="1802" y="377.5352">Control plane</text><!--entity wcdwn1--><rect fill="#FEFECE" filter="url(#fvitb8k739d8w)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="121" x="1750.5" y="509"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="1745.5" y="514"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="1745.5" y="535.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="101" x="1760.5" y="532.5352">Worker node 1</text><!--entity wcdwn2--><rect fill="#FEFECE" filter="url(#fvitb8k739d8w)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="121" x="1906.5" y="509"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="1901.5" y="514"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="1901.5" y="535.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="101" x="1916.5" y="532.5352">Worker node 2</text><!--link mccp to mcwn1--><path d="M213.93,197.29 C203.73,232.09 180.72,310.55 169.46,348.96 " fill="none" id="mccp-&gt;mcwn1" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,3.0;"/><polygon fill="#A80036" points="168.02,353.89,174.38,346.37,169.42,349.09,166.7,344.13,168.02,353.89" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="27" x="205" y="240.5684">ipv4</text><!--link mccp to mcwn2--><path d="M228.05,197.29 C246.35,232.23 287.69,311.19 307.71,349.43 " fill="none" id="mccp-&gt;mcwn2" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,3.0;"/><polygon fill="#A80036" points="310.04,353.89,309.4167,344.0609,307.7242,349.4586,302.3265,347.7661,310.04,353.89" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="27" x="253" y="240.5684">ipv4</text><!--link wcacp to wcawn1--><path d="M626.71,390.25 C619.82,418.03 606.25,472.66 598.59,503.48 " fill="none" id="wcacp-&gt;wcawn1" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,3.0;"/><polygon fill="#A80036" points="597.33,508.57,603.3719,500.7921,598.5292,503.7159,595.6054,498.8733,597.33,508.57" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="27" x="609" y="475.5684">ipv4</text><!--link wcacp to wcawn2--><path d="M644.31,390.25 C666,418.38 708.91,474.02 732.5,504.61 " fill="none" id="wcacp-&gt;wcawn2" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,3.0;"/><polygon fill="#A80036" points="735.56,508.57,733.2448,498.9971,732.5121,504.6063,726.9029,503.8737,735.56,508.57" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="27" x="711" y="475.5684">ipv4</text><!--link wcbcp to wcbwn1--><path d="M1000.71,390.25 C993.82,418.03 980.25,472.66 972.59,503.48 " fill="none" id="wcbcp-&gt;wcbwn1" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,3.0;"/><polygon fill="#A80036" points="971.33,508.57,977.3719,500.7921,972.5292,503.7159,969.6054,498.8733,971.33,508.57" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="27" x="983" y="475.5684">ipv4</text><!--link wcbcp to wcbwn2--><path d="M1018.31,390.25 C1040,418.38 1082.91,474.02 1106.5,504.61 " fill="none" id="wcbcp-&gt;wcbwn2" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,3.0;"/><polygon fill="#A80036" points="1109.56,508.57,1107.2448,498.9971,1106.5121,504.6063,1100.9029,503.8737,1109.56,508.57" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="27" x="1085" y="475.5684">ipv4</text><!--link wcccp to wccwn1--><path d="M1422.71,390.25 C1415.82,418.03 1402.25,472.66 1394.59,503.48 " fill="none" id="wcccp-&gt;wccwn1" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,3.0;"/><polygon fill="#A80036" points="1393.33,508.57,1399.3719,500.7921,1394.5292,503.7159,1391.6054,498.8733,1393.33,508.57" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="27" x="1405" y="475.5684">ipv4</text><!--link wcccp to wccwn2--><path d="M1440.31,390.25 C1462,418.38 1504.91,474.02 1528.5,504.61 " fill="none" id="wcccp-&gt;wccwn2" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,3.0;"/><polygon fill="#A80036" points="1531.56,508.57,1529.2448,498.9971,1528.5121,504.6063,1522.9029,503.8737,1531.56,508.57" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="27" x="1507" y="475.5684">ipv4</text><!--link wcdcp to wcdwn1--><path d="M1844.71,390.25 C1837.82,418.03 1824.25,472.66 1816.59,503.48 " fill="none" id="wcdcp-&gt;wcdwn1" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,3.0;"/><polygon fill="#A80036" points="1815.33,508.57,1821.3719,500.7921,1816.5292,503.7159,1813.6054,498.8733,1815.33,508.57" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="27" x="1827" y="475.5684">ipv4</text><!--link wcdcp to wcdwn2--><path d="M1862.31,390.25 C1884,418.38 1926.91,474.02 1950.5,504.61 " fill="none" id="wcdcp-&gt;wcdwn2" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,3.0;"/><polygon fill="#A80036" points="1953.56,508.57,1951.2448,498.9971,1950.5121,504.6063,1944.9029,503.8737,1953.56,508.57" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="27" x="1929" y="475.5684">ipv4</text><!--link mc to wca--><path d="M412.0708,194.8154 C412.1823,195.0202 412.2948,195.2268 412.4083,195.4351 C412.6352,195.8519 412.866,196.2758 413.1006,196.7066 C413.5697,197.5682 414.054,198.4577 414.5527,199.3737 C416.5477,203.0377 418.7735,207.1258 421.1841,211.5531 C430.8262,229.2625 443.4238,252.4 456.02,275.535 C468.6163,298.67 481.2112,321.8025 490.8484,339.5019 C493.2577,343.9267 495.4822,348.012 497.4755,351.6728 C497.9739,352.5881 498.4578,353.4767 498.9265,354.3376 C499.1609,354.768 499.3915,355.1914 499.6182,355.6078 C499.7315,355.8159 499.8439,356.0223 499.9553,356.2269 " fill="none" id="mc-&gt;wca" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,3.0;"/><polygon fill="#A80036" points="499.9553,356.2269,499.1643,346.4099,497.5642,351.8357,492.1383,350.2356,499.9553,356.2269" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="27" x="439" y="240.5684">ipv6</text><!--link mc to wcb--><path d="M412.4992,180.3966 C412.9574,180.4194 413.433,180.4432 413.9257,180.468 C415.8964,180.5674 418.1401,180.6834 420.6386,180.817 C430.6325,181.3511 444.702,182.1654 461.6702,183.3145 C495.6066,185.6128 541.1381,189.2506 588.8513,194.6663 C684.2775,205.4975 788.43,223.44 826,252 C848.905,269.41 862.83,298.51 871.065,323.575 C872.0944,326.7081 873.0348,329.7782 873.8928,332.7545 " fill="none" id="mc-&gt;wcb" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,3.0;"/><polygon fill="#A80036" points="873.8928,332.7545,875.2434,322.9987,872.5079,327.9502,867.5564,325.2146,873.8928,332.7545" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="27" x="810" y="240.5684">ipv6</text><!--link mc to wcc--><path d="M412.0046,179.9164 C412.3118,179.9136 412.6275,179.9108 412.9515,179.9079 C418.1367,179.8625 425.4743,179.81 434.6979,179.7739 C453.1452,179.7018 479.1367,179.6952 510.5409,179.9409 C573.3494,180.4325 657.8088,181.9338 746.8675,185.94 C924.985,193.9525 1121.5,211.985 1200,252 C1230.8,267.7 1256.475,296.7725 1274.6087,322.2513 C1283.6756,334.9906 1290.8572,346.8316 1295.8514,355.6533 " fill="none" id="mc-&gt;wcc" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,3.0;"/><polygon fill="#A80036" points="1295.8514,355.6533,1294.8984,345.8506,1293.3881,351.3022,1287.9366,349.7919,1295.8514,355.6533" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="27" x="1179" y="240.5684">ipv6</text><!--link mc to wcd--><path d="M412.1521,180.0982 C413.7964,180.1189 415.6808,180.1429 417.7976,180.1705 C426.2648,180.2808 438.4502,180.4473 453.8539,180.6788 C484.6615,181.1416 528.3427,181.8638 580.8997,182.9138 C686.0138,185.0138 826.6312,188.425 970.77,193.695 C1259.0475,204.235 1561.41,222.21 1622,252 C1653.025,267.255 1678.7025,296.32 1696.7813,321.9063 C1705.8206,334.6994 1712.9603,346.6228 1717.9189,355.5155 " fill="none" id="mc-&gt;wcd" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,3.0;"/><polygon fill="#A80036" points="1717.9189,355.5155,1717.0294,345.7069,1715.4839,351.1485,1710.0422,349.6029,1717.9189,355.5155" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="27" x="1591" y="240.5684">ipv6</text><!--
@startuml fergal-deployment
package "VPN" as vpn {
package "VLAN 1" as vlan_1 {
package "Management cluster" as mc {
[Control plane] as mccp
[Worker node 1] as mcwn1
[Worker node 2] as mcwn2
mccp ~~> mcwn1 : ipv4
mccp ~~> mcwn2 : ipv4
}
}
package "VLAN 2" as vlan_2 {
package "Workload cluster A" as wca {
[Control plane] as wcacp
[Worker node 1] as wcawn1
[Worker node 2] as wcawn2
wcacp ~~> wcawn1 : ipv4
wcacp ~~> wcawn2 : ipv4
}
package "Workload cluster B" as wcb {
[Control plane] as wcbcp
[Worker node 1] as wcbwn1
[Worker node 2] as wcbwn2
wcbcp ~~> wcbwn1 : ipv4
wcbcp ~~> wcbwn2 : ipv4
}
}
package "VLAN 3" as vlan_3 {
package "Workload cluster C" as wcc {
[Control plane] as wcccp
[Worker node 1] as wccwn1
[Worker node 2] as wccwn2
wcccp ~~> wccwn1 : ipv4
wcccp ~~> wccwn2 : ipv4
}
}
package "VLAN 4" as vlan_4 {
package "Workload cluster D" as wcd {
[Control plane] as wcdcp
[Worker node 1] as wcdwn1
[Worker node 2] as wcdwn2
wcdcp ~~> wcdwn1 : ipv4
wcdcp ~~> wcdwn2 : ipv4
}
}
}
mc ~~> wca : ipv6
mc ~~> wcb : ipv6
mc ~~> wcc : ipv6
mc ~~> wcd : ipv6
@enduml
PlantUML version 1.2019.09(Mon Aug 26 11:19:51 CDT 2019)
(GPL source distribution)
Java Runtime: Java(TM) SE Runtime Environment
JVM: Java HotSpot(TM) 64-Bit Server VM
Java Version: 1.8.0_191-b12
Operating System: Mac OS X
OS Version: 10.15.2
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment