I have an on-premise Kubernetes cluster with persistent storage. Now it’s time to find a way to expose my applications to the internet.
I only have a single public IPv4 address and a /24 private subnet behind NAT, managed by OPNsense. This means I’ll need a few creative (and slightly dirty) hacks to make everything work.
I’m starting to realize how much the cloud has spoiled me. Without unlimited load balancers and public IP addresses, things quickly become a bit more complex.
For this setup, my main tools will be MetalLB and NGINX Ingress. NGINX Ingress will be retired soon, and I plan to replace it in the near future. However, for a home lab environment it will work just fine for now.
This setup is far from perfect, so don’t try this in real production.
Continue reading “One Public IPv4, Many Kubernetes Apps”