diff --git a/ungleich-infrastructure.dot b/ungleich-infrastructure.dot index 4324587..d3e4654 100644 --- a/ungleich-infrastructure.dot +++ b/ungleich-infrastructure.dot @@ -28,10 +28,10 @@ graph G { router1p5 [ label="router1\nfirewall\nrouter\nnetboot" ]; router2p5 [ label="router2\nfirewall\nrouter\nnetboot" ]; - apurouter1p5 [ label="dhcpv4\nnetboot\ncoworking" ]; - apurouter2p5 [ label="dhcpv4\nnetboot\ncoworking" ]; + apurouter1p5 [ label="dhcpv4\nnetboot\ncoworking" ]; + apurouter2p5 [ label="dhcpv4\nnetboot\ncoworking" ]; - red1p5 [ label="red1\nceph monitor\nopennebula mysql" ]; + red1p5 [ label="red1\nceph monitor\nopennebula mysql" ]; red2p5 [ label="red2\nceph monitor\n" ]; red3p5 [ label="red3\nceph monitor\n" ]; @@ -59,16 +59,16 @@ graph G { ups2 [ label="UPS2\n2200VA\n1320W" ] ups3 [ label="UPS3\n2200VA\n1320W" ] ups4 [ label="UPS4\n2200VA\n1320W" ] - ups5 [ label="UPS5\n2200VA\n1320W" ] - ups6 [ label="UPS6\n2200VA\n1320W" ] - ups7 [ label="UPS7\n2200VA\n1320W" ] - ups1small [ label="UPS1-Small\n1000VA\n550W" ] + ups5 [ label="UPS5\n2200VA\n1320W" ] + ups6 [ label="UPS6\n2200VA\n1320W" ] + ups7 [ label="UPS7\n2200VA\n1320W" ] + ups1small [ label="UPS1-Small\n1000VA\n550W" ] noorunknownups [ label="No or unknown UPS" ] server1p5 -- ups1 [ label="Power connection 1100W" ] server2p5 -- ups3 [ label="Power connection 1100W" ] - server3p5 -- ups6 [ label="Power connection 1100W" ] - server4p5 -- ups7 [ label="Power connection 1100W" ] + server3p5 -- ups6 [ label="Power connection 1100W" ] + server4p5 -- ups7 [ label="Power connection 1100W" ] router1p5 -- ups5 [ label="Power connection 1100W" ] @@ -327,4 +327,8 @@ graph G { redp7--saltlte; server1p11--mythicbeasts [ label="Default Route" ]; + + # BGP / routing / logic networking + + } diff --git a/ungleich-network.dot b/ungleich-network.dot new file mode 100644 index 0000000..0ba47f8 --- /dev/null +++ b/ungleich-network.dot @@ -0,0 +1,65 @@ +digraph G { + node [ shape=rect ]; + + label="Data Center Light networking/routing (2021-04-11)" + + {router1p5,router2p5}->sunrise; + + sunrise->igp [ label="Add sunrise on-link routes" ] + netstream->igp [ label="Add netstream on-link routes" ] + vpnserver->routers [ label="eBGP: Announce /40's (reprop)" ] + + apurouters->routers [ label="Announce (internal) /64's" ] + apurouters->igp [ label="Announce internal on-link routes (these + are /64's" ] + + k8s->apurouters [ label="Announce /122, /128 routes (iBGP/eBGP)" ] + + something->switches [ label="Re-Announce k8s routes for ECMP" ] + + # Questions: + # Do VPN servers import routes? Probably not, can use default route + # Do APU routers import routes? Yes from k8s + # Do APU routers import routes from routers? Maybe. + # Maybe not: can have default route to routers + # Maybe yes: to learn k8s routes + # Will announce k8s routes via eBGP, nexthop reset. not what we want + + # Can we use iBGP + separate table instead of ospf/babel? + + ###################################################################### + # Switch interaction + # Either OSPF or BGP + # + # Primary objective: ecmp routes for k8s nodes / pods + # Secondary objective (maybe) routing for the switch + # + # BGP: f.i. connecting to a route reflector; or routes come in via + # eBGP + # BGP / maybe RR seems a bit more native + # OSPF: MTU mismatch showing, automatic join, only internal routes + + ###################################################################### + # + # + + + ###################################################################### + # k8s + # k8s systems could in theory peer with switches -> security + # design not so eay + # + # k8s systems could peer with routers (multihop, iBGP) + # + # k8s systems could peer with apu-routers (direct, iBGP) + # apu-routers would need to become route-reflector towards routers + # + # k8s systems could peer with apu-routers (direct, eBGP) + # + # routers can re-export to APUs as route reflectors + + # How do the routers reach k8s system? Need route from apu routers + # probably via igb + + +}