Hey folks! I'm running a 3-node Kubernetes cluster on my VPS with one control node and two worker nodes. I'm aiming to host my company's applications including the frontend, backend, and database on one of the worker nodes. So far, I've set up Traefik as my ingress controller and configured MetalLB as my local load balancer. My question is, how do I expose these applications so they can be accessed via my VPS's public IP or one of my domains (which I already own)? I'm a bit lost on the steps or configurations needed to make this happen with Traefik and MetalLB in place. Appreciate any guidance you can offer!
2 Answers
To expose your services using MetalLB, you'll need to assign a pool of IPs for it to use. Once you have that set up, you basically configure MetalLB to expose Traefik. Traefik will handle the HTTP requests for your applications, routing them based on the domain name. Just remember that MetalLB needs a routable external IP on the same subnet as your nodes, for example, 10.0.5.X. If you find Traefik complicated, you might want to consider switching to nginx-ingress, which has a simpler configuration.
If you're already using Cilium as your CNI, you might not even need MetalLB! Cilium has built-in features for L2 and BGP announcements. However, I think Traefik isn’t as complicated as some say. Its documentation is pretty solid, and there are plenty of guides available to help you out.
Related Questions
How To Get Your Domain Unblocked From Facebook
How To Find A String In a Directory of Files Using Linux