Great!!! excellent video. thanks. I would like to see a video that explains more about keeping nodes using private IP addresses and services like load balancer using external public IP addresses.
Very good explanation and it is really done with great professionalism in practice. I will be very much pleased if you can you create a video about a WordPress implementation with persistent storage in Kubernetes using MetalLB and Nginx Ingress Controller
Good walkthrough. However, please note that configuring MetalLB with ConfigMap is now deprecated. You should be using CRDs. The most basic L2 configuration with an IPAddressPool and L2Advertisement is sufficient for most use-cases.
Hello actually while I am expose this load balancer ip on Google Chrome it's not working but while do curl in Linux cli it's show nginx page but not in web UI what could be the reason as my firewall already open for all traffic
Check your service. `kubectl describe svc nginx` and make sure there is an event from metallb-speaker with a message "announcing from node...". If its not there, you might have missed the `L2Advertisement` config. ``` apiVersion: metallb.io/v1beta1 kind: L2Advertisement metadata: name: example namespace: metallb-system ```
kilips, thank you for the comment! There is actually a new way to deploy that now requires an IP address configuration AND a Layer 2 association now. In the Layer 2 configuration, Metal LB assumes the CIDR/subnet from the direct connection of the interface so as long as you earmark IPs from the network it knows about, there isn't a requirement to define the subnet.
hi Lee, I watched some other videos and see that we have other kind of implementation such as Metal LB with Kubernetes ingress controller. I dont know what different between them, why we need both?
Thanh, metal LB is a bare metal load balancer. It allows automatically provisioning IP addresses for Kubernetes services. An ingress controller like Traefik allows you to take care of SSL certificates and ingress routing. So, kind of like the host headers/bindings functionality in a traditional web server. It routes incoming requests based on the resource name/FQDN it is trying to access. Hope this helps!
I host my kubernetes cluster on 5 remote bare metal servers with 3 Worker Nodes. So I need to place the public IP adresses of the worker in the metallb.yaml ?
Hi, I have pfsense router at home and K8S bare metal running on ubuntu with 2 master 2 worker setup.. I configured BGP on pfsense and I am hoping it's good, the logs are showing the assigned LoadBalancer IPs but somehow I can't resolve them on browser... I tried multiple times but something somewhere missing, any clue where should I be looking at? I have External IPs assigned correctly on get service output and on pfsense. It does show external ip in BGP logs that the next hop if worker nodes but when I put them in browser, it's bad gateway!!
I'm an instant subscriber! You have a great teaching style, and you speak clearly. I came here because I also run a Kubernetes cluster in my home using Metallb, and I wasn't sure I had it configured properly.
If we had made a drinking game with this video, we would all be dead. Every time you say "MetalLB" a shot. I will try to follow your video and use the new config of MetalLB though. My last cluster was with Beowulf on Solaris, now you know how old I am. New Cloud Tech is more or less what we did 20 years ago, but on crack :)
hey Brandon, i running my k8s cluster VirtualBox, i did everything in your tutorial and eventually got my Nginx exposed with load balancer with IP address from my range BUT I can access the page on my host machine, all the port forwarding is configured etc., and yet don't have access.
Currently metallb manual has changed a bit and suggest to use kind: IPAddressPool and kind: L2Advertisement resources (at least for Layer 2 configuration). Is your tutorial still relevant?
I found the answer to my question, that I had for couple months now. Thanks. .. Now I have another one. :)
Great!!! excellent video. thanks. I would like to see a video that explains more about keeping nodes using private IP addresses and services like load balancer using external public IP addresses.
Ronaldo, thanks for the ideas on future videos. I will definitely keep these ideas in mind for a future video, maybe even a series.
Very good explanation and it is really done with great professionalism in practice. I will be very much pleased if you can you create a video about a WordPress implementation with persistent storage in Kubernetes using MetalLB and Nginx Ingress Controller
Good walkthrough. However, please note that configuring MetalLB with ConfigMap is now deprecated. You should be using CRDs. The most basic L2 configuration with an IPAddressPool and L2Advertisement is sufficient for most use-cases.
How can I implement it?
That's right. Today config for MetalLB must have IPAddressPool an L2Advertisement
How it is different from ingress controller?
Hello actually while I am expose this load balancer ip on Google Chrome it's not working but while do curl in Linux cli it's show nginx page but not in web UI what could be the reason as my firewall already open for all traffic
Check your service. `kubectl describe svc nginx` and make sure there is an event from metallb-speaker with a message "announcing from node...". If its not there, you might have missed the `L2Advertisement` config.
```
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: example
namespace: metallb-system
```
Very Useful ! Thank you for the content. I was wondering if MetalLB also supports Windows Kubernetes Clusters. I didn't find anything on the internet.
Really useful, thank you!
in real case scenario, where do you get those ip addresses? are those public ip of our servers?
Great video but, just a quick question.. you did not mention the cidr for the public ips in the yaml so how does this gonna work !!
kilips, thank you for the comment! There is actually a new way to deploy that now requires an IP address configuration AND a Layer 2 association now. In the Layer 2 configuration, Metal LB assumes the CIDR/subnet from the direct connection of the interface so as long as you earmark IPs from the network it knows about, there isn't a requirement to define the subnet.
@@VirtualizationHowto Thanks for the reply
hi Lee,
I watched some other videos and see that we have other kind of implementation such as Metal LB with Kubernetes ingress controller. I dont know what different between them, why we need both?
Thanh, metal LB is a bare metal load balancer. It allows automatically provisioning IP addresses for Kubernetes services. An ingress controller like Traefik allows you to take care of SSL certificates and ingress routing. So, kind of like the host headers/bindings functionality in a traditional web server. It routes incoming requests based on the resource name/FQDN it is trying to access. Hope this helps!
@@VirtualizationHowto thanks so much
I host my kubernetes cluster on 5 remote bare metal servers with 3 Worker Nodes. So I need to place the public IP adresses of the worker in the metallb.yaml ?
Yes, but it's always good to have WAF firewall between your server and internet
Get rid of bg music plz !
I like how simple and clear your videos are. Kindly do a video on persistent volumes
Create a mysql database and it save everything there
Hi, I have pfsense router at home and K8S bare metal running on ubuntu with 2 master 2 worker setup.. I configured BGP on pfsense and I am hoping it's good, the logs are showing the assigned LoadBalancer IPs but somehow I can't resolve them on browser... I tried multiple times but something somewhere missing, any clue where should I be looking at? I have External IPs assigned correctly on get service output and on pfsense. It does show external ip in BGP logs that the next hop if worker nodes but when I put them in browser, it's bad gateway!!
Shouldn't we actually test the loadbalancer by accessing the service's exposed IP and port?
I'm an instant subscriber! You have a great teaching style, and you speak clearly. I came here because I also run a Kubernetes cluster in my home using Metallb, and I wasn't sure I had it configured properly.
Awesome, thank you!
I'd like the cluster to use my LAN's DNS / DHCP server... is that possible?
Thank you for the comment! Sign up on the forums and let's discuss: www.virtualizationhowto.com/community
Hi, great video. thanks. For a multi-node cluster with 5 Raspberry Pis, does MetalLB load balance across 5 nodes?
If we had made a drinking game with this video, we would all be dead. Every time you say "MetalLB" a shot.
I will try to follow your video and use the new config of MetalLB though. My last cluster was with Beowulf on Solaris, now you know how old I am. New Cloud Tech is more or less what we did 20 years ago, but on crack :)
Hello Brandon, I followed the video but my metallb is not exposing the external IP address for testing. Please what should I do?
You are the !^@%& man bro!!!!!!! Excuse my french but man you made it so easy. Thank you and subscribed!
how if i want to using external IP (can access from internet) where should i attach it
Why does no one use the freaking helm chart in these tutorials?
Great video! Thanks! Subscribed!
Thank you for this video! It's realy very usefull!
very useful thanks for the great video
great great great. Thank you
Thanks excellent video
this is very helpful thx for sharing Brandon
hey Brandon, i running my k8s cluster VirtualBox, i did everything in your tutorial and eventually got my Nginx exposed with load balancer with IP address from my range BUT I can access the page on my host machine, all the port forwarding is configured etc., and yet don't have access.
did you get the solution, I am facing the same problem
Currently metallb manual has changed a bit and suggest to use kind: IPAddressPool and kind: L2Advertisement resources (at least for Layer 2 configuration). Is your tutorial still relevant?
180doman, yes you are right. I need to produce an updated video, as I had to change my processes as well for the newest versions of MetalLB.
It is amazing! Thank you for this clear explanation
Excellent video, thanks!
Thank you JMMTechnology!
thanks for the demo and info, have a great day
Thanks, you too!
thank you! you save me :)
Glad it helped!