One thing that bit me when I was trying to expose my apps to the world when working on the home cluster, is that Kubernetes on bare metal—I was using Kind at the time—expects to talk to a load balancer service, which then talk to an actual load balancer. Which if you are using bare metal, you won’t usually have. I had to then go expose a “NodePort” to gain access from outside.
So to expose my stuff in as “real world” a way as possible, we need to:
- Either install a load balancer implementation like MetalLB. OR
- Use a Kubernetes distribution that has a load balancer implementation built-in, like K3s.
I chose…
One thing that bit me when I was trying to expose my apps to the world when working on the home cluster, is that Kubernetes on bare metal—I was using Kind at the time—expects to talk to a load balancer service, which then talk to an actual load balancer. Which if you are using bare metal, you won’t usually have. I had to then go expose a “NodePort” to gain access from outside.
So to expose my stuff in as “real world” a way as possible, we need to:
- Either install a load balancer implementation like MetalLB. OR
- Use a Kubernetes distribution that has a load balancer implementation built-in, like K3s.
I chose option 2 and used K3s, because I am, as they say in popular parlance, using Kubernetes at the edge. In which case, I prefer to have as many batteries built-in as possible.
Feedback on this post? Mail me at [feedback at this domain](mailto:feedback@janusworx.com?subject=%22Feedback on post: Kubernetes, Note to Self: Need Load Balancer Installed on Bare Metal %22) or continue the discourse here.
P.S. Subscribe to my mailing list! Forward these posts and letters to your friends and get them to subscribe!