I'm a web dev by trade, but one of those devs who has never really had to worry too much about where his code runs. Even in terms of general networking my understanding isn't great. I figured that wasn't good enough, so I decided to throw myself in the deep end by building/maintaining a bare metal kube cluster for the homelab. Plus I get to play with Raspberry Pis, which is always fun.
I've made great progress with configuring the k8s side of things. The remaining task for that is to configure my load balancing and ingress but before I do that I figure I need to get the cluster properly positioned on my network.
So here's a diagram of what I'm trying to acheive:
https://i.imgur.com/gAJx7jM.png
Here's a rundown of what I'm after:
- The cluster nodes are connected/powered via an unmanaged 8-port PoE switch.
- The Hex S sits infront of the switch and act as a DHCP server for all the cluster nodes (also getting power from the Poe Switch)
- The main router (dd-wrt) does all the normal house things and acts as a DHCP server for everything else (housemates' phones, laptops, desktops etc).
- Internet connectivity is passed from the main router to the Hex S, allowing the k8s nodes to communiate with remote services.
- I can access services being run on k8s over the local network (eg. a desktop given an IP from the main router could access a MediaWiki instance being run on k8s without going 'outside the house')
- I can access the Hex S RouterOS from any device on the local network (with the right creds ofc)
Essentially I'd like the cluster to be as 'self-contained' as possible. It hands out IPs itself, and only really relies on the upstream for internet connectivity.
What I'm struggling with is how to configure both routers to achieve the above - this is where my networking knowledge really falls down. On top of that, there's actually doing the configuration in RouterOS (which seems awesome, despite it making me feel very dumb). I'm not even sure if what I describe with dual DHCP servers is even possible.
If anyone has any suggestions I would really appreciate it. I'm not looking for hand holding (although I'll take it!) and very much open to other suggestions for how to achieve the above!
Thanks again