[ Kube 33 ] Set up MetalLB Load Balancing for Bare Metal Kubernetes

Поділитися
Вставка
  • Опубліковано 16 лис 2024

КОМЕНТАРІ • 377

  • @linuxkartik6115
    @linuxkartik6115 4 роки тому +24

    Not only this Video, your entire channel is very nice info ocean. I really appreciate your doing is generously, while hell number of training institute out there, those are looting to learners . thanks for helping others.. God Bless you!

  • @crumdev5834
    @crumdev5834 4 роки тому +4

    This was really irritating me trying to figure out how to do this without using something like GKE and their dynamic load balancers. Thanks for the helpful and concise video.

  • @tiwaridiwakarprasad
    @tiwaridiwakarprasad 3 роки тому +1

    Thanks a lot bro! I've wasted two days just to understand the MetalLB Concept conflicts with nginx-ingress and so on...
    Your 11 minutes save my a lot of times.

  • @seshreddy8616
    @seshreddy8616 4 роки тому +7

    Thanks Venkat. I've struggled to find this content elsewhere and you're truly amazing. I indeed read a few best books and they've mentioned only minikube or cloud.

  • @bradlaloli8422
    @bradlaloli8422 4 роки тому +1

    Thank You! Watching a few of your videos has made me realise the difference between having a cloud provided LB, LB appliance and needing MetalLB. I couldn't figure out why my Ingress wouldn't work but now it does - yay!

    • @justmeandopensource
      @justmeandopensource  4 роки тому +1

      Hi Brad, thanks for watching and sharing your thoughts. Cheers.

  • @Paeblits
    @Paeblits 3 роки тому +1

    I'm new to K8s and have been struggling with this for a few weeks now on my personal projects (kubeadm on a raspberry pi cluster). This finally did the trick. Next step is Ingress controller I think. Thank you!

  • @grimonce
    @grimonce Рік тому +1

    This channel is gold, wish I had found it sooner :)

  • @maartenvanveen2174
    @maartenvanveen2174 4 роки тому +2

    As always your videos are concise to the point and very clear. Thanks a bunch from the Netherlands!

  • @juanmanuel7305
    @juanmanuel7305 4 роки тому +1

    Thank you thank you thank you! i've been strugling with metallb for a day now, im so glad i found your channel

  • @suvankardas7932
    @suvankardas7932 2 роки тому +1

    This video helped me a lot bro..many thx..was struggling for few factor ..thx once again

  • @onovaes
    @onovaes 3 роки тому +1

    Thank man.... You helped a Brazilian guy!

  • @ronaldocorrea8007
    @ronaldocorrea8007 3 роки тому +1

    Thank you so much. this video saves my on-prem cluster project.

  • @TheKreweta
    @TheKreweta 4 роки тому +2

    One of the best tutorials I've seen in long time (not just this one, your channel is is awesome) :) thanks for help with Kubernetes :)

  • @786saga
    @786saga 4 роки тому +1

    Very good explanation Venkat in first time only I am able to deploy the metalLB in my Kubernetes cluster

  • @theflymo
    @theflymo 4 роки тому

    Thanks! Very useful video for Kubernetes noobs like me. Makes setting up a home lab much easier....

  • @naimarshad
    @naimarshad 4 роки тому +1

    Awesome video, please keep up the good work. I came here looking for something and found with detailed explanation.

  • @yaghiyahbrenner8902
    @yaghiyahbrenner8902 3 роки тому +1

    Man, I just wanted to say thank you for all the videos some helped me alot.

    • @justmeandopensource
      @justmeandopensource  3 роки тому +1

      You are welcome and thanks for your interest in this channel.

  • @arunabraham100
    @arunabraham100 3 роки тому +1

    Thanks for the amazing videos. This is helping me in setting up kubernetes cluster in on-premise infrastructure.

  • @hazemhemied4049
    @hazemhemied4049 3 роки тому +1

    I liked you video
    Simply straight to the point 👍

  • @hammadsherwani2938
    @hammadsherwani2938 3 роки тому +1

    Love this video, to the point and with good example.

  • @praveenkumar-uc3tu
    @praveenkumar-uc3tu 5 років тому +1

    Superb. This is what I expected. Pls post some videos related to CICD in kubernetes with jenkins

    • @justmeandopensource
      @justmeandopensource  5 років тому

      Hi Praveen, Thanks for watching this video. I have already done a video on Running Jenkins in Kubernetes. Search for it and you will find it. See if that helps or if you need any specific topic/concept.
      Thanks,
      Venkat

    • @praveenkumar-uc3tu
      @praveenkumar-uc3tu 5 років тому +1

      @@justmeandopensource yes I need CI/CD in kubernetes using Jenkins.

  •  Рік тому +1

    thanks for sharing. i wish i knew this channel sooner !

  • @phillewisit
    @phillewisit 5 років тому +1

    Thanks for the videos, I am enjoying the series. I have used MetalLB before (after discovering it prior to watching your videos) so have it working fine. I am just trying to work out however if it is possible to assign a static IP to a service, rather than the next available IP in the range being used. This is obviously important if trying using a NAT or DNS.

    • @justmeandopensource
      @justmeandopensource  5 років тому +1

      Hi Phil, Thanks for watching this video. I think its possible to specify the ip address you want for the load balancer (as per the documentation), although I haven't tried it.
      From kubernetes.io/docs/concepts/services-networking/service/#loadbalancer,
      Some cloud providers allow you to specify the loadBalancerIP. In those cases, the load-balancer is created with the user-specified loadBalancerIP. If the loadBalancerIP field is not specified, the loadBalancer is set up with an ephemeral IP address. If you specify a loadBalancerIP but your cloud provider does not support the feature, the loadbalancerIP field that you set is ignored.
      From metallb.universe.tf/usage/#requesting-specific-ips,
      MetalLB respects the spec.loadBalancerIP parameter, so if you want your service to be set up with a specific address, you can request it by setting that parameter. If MetalLB does not own the requested address, or if the address is already in use by another service, assignment will fail and MetalLB will log a warning event visible in kubectl describe service
      Thanks.

    • @justmeandopensource
      @justmeandopensource  5 років тому +1

      Hi Phil, I have done a quick testing and its working as epxected.
      Please check my output in the below pastebin link.
      pastebin.com/raw/E6jCbjhJ
      Thanks.

  • @WojciechMarusiak
    @WojciechMarusiak 3 роки тому +1

    As usuall super easy to follow and well explained. Thanks!

  • @ranjeetbadhe3817
    @ranjeetbadhe3817 Рік тому

    Please post a video on federated clusters. Interested in know the configuration and theory part of it.

  • @pernankilvivek8774
    @pernankilvivek8774 3 роки тому +1

    You are doing god's work venkat. Keep up the good work. cheers..!!

    • @justmeandopensource
      @justmeandopensource  3 роки тому +1

      Hi Pernankil, many thanks for watching and commenting. Much appreciated.

  • @satishalla
    @satishalla Рік тому

    Thank you venkat... very helpful video

  • @Lebalele21
    @Lebalele21 5 років тому +2

    Keep making video. Always wait for your update.

    • @justmeandopensource
      @justmeandopensource  5 років тому +1

      Thanks Muhammad for watching this videos. There are lot more scheduled for the coming weeks on Mondays.

  • @sanjaylonkar
    @sanjaylonkar Місяць тому

    Thank you, Venkat, for this informative video. I used a public IP range instead of a private one to enable internet access for my services. Although one of the public IPs was assigned to my exposed service, I’m still unable to access it over the internet. Could you provide some guidance?

  • @ranjeetbadhe3817
    @ranjeetbadhe3817 Рік тому

    Thanks Venkat for posting the video. I am going to try this and ask for help , if I am not able configure.

  • @GraysonAdams
    @GraysonAdams 4 роки тому +1

    In your video you say it must be in the same network as your nodes. What if I have a node in a different network and want to provision IP's from that network?
    2 of my nodes are in one VLAN, and the final node is in my LAN network. I have MetalLB speakers running on all three nodes.
    Despite opening up the firewall, it appears that MetalLB speakers are only working for IP's in the VLAN pool. If I try to auto-provision an IP from the LAN pool, it never resolves. Any ideas? It appears MetalLB allowed for multiple IP pools?
    EDIT: Solved by deploying a Controller node on that LAN network as well.

    • @justmeandopensource
      @justmeandopensource  4 роки тому +1

      Hi Grayson, thanks for watching and sharing your solution here. I haven't tried running worker nodes on different networks to be able to try this. But this information is super helpful. Cheers.

  • @barsvelioglu2276
    @barsvelioglu2276 3 роки тому +1

    Great tutorial. Thank you

  • @barkathks8620
    @barkathks8620 4 роки тому +1

    HI Venkat, i have been watching you all videos, your videos are clean and clear to understand.
    But I have one doubt....
    If we have IP's like as below then how to set up ip range in configmaps.yaml file.
    I took 3 EC2 instances of aws and i set up k8s cluster, one as master and two as worker nodes.....
    I am confusing to how to set up ip range in configmaps....hope you help me in this regards....thank you
    k8s-master: 172.31.23.226
    worker-node1: 172.31.82.16
    worker-node2: 172.31.88.98

    • @justmeandopensource
      @justmeandopensource  4 роки тому +1

      Hi Barkath, thanks for watching. I am afraid it won't work in AWS. It is designed to be used in bare metal infrastructure. The IP addresses are not under your control when used in cloud.
      metallb.universe.tf/installation/clouds/

    • @justmeandopensource
      @justmeandopensource  4 роки тому +1

      You can try this on your local workstation though in a VirtualBox environment.

  • @rahuldeewana1302
    @rahuldeewana1302 3 роки тому

    Awesome explanation 💯.
    Can you please help me to know that, can a local kubernetes cluster can be exposed to the interne? By using the method you have shown can we use this external ip in any device or only in the machine running this kubernetes cluster, Thanks.

  • @florimmaxhuni4718
    @florimmaxhuni4718 4 роки тому +5

    Looks like MetalLB did change installation procedure. Is it possible to do another one because the old procedure in documentation I think does not exist.
    Thanks

    • @justmeandopensource
      @justmeandopensource  4 роки тому +6

      Hi Florim, thanks for pointing that out. I wasn't able to keep track of all my previous videos and I rely on people like you to point out the deviation. I will definitely do a followup one soon. Cheers.

  • @devmrtcbk
    @devmrtcbk 3 роки тому +1

    Thanks again Venkat. I have a few questions on my mind, as you know, in data centers, IP addresses are usually distributed statically by system experts. The IP address we created here is VIP. Is this ip address actually managed by DNS within the Kubernetes cluster? How do we forward a domain to this ip address with external dns? Also, let's say we have 3 worker nodes, do we enter 3 records in external dns (like round roubin)? Because we want to use the IP addresses produced by metallb outside, but we do not manage the external IP addresses.

    • @justmeandopensource
      @justmeandopensource  3 роки тому +1

      Hi Murat, thanks for watching. Ideally you would reserve a block of ip addresses in a network and use that in metallb configuration. MetalLB doesn't check whether that IP has been already assigned to some other resource externally. So we should make sure to reserve a range manually and let metallb use it.These are not managed by kubernetes internal DNS but by the metallb pod. You can just add a dns entry with the ip provided by the metallb for your service in your dns server.

    • @devmrtcbk
      @devmrtcbk 3 роки тому

      @@justmeandopensource thank you Venkat, ok understood. so if we already have external load balancer what is your recommendation? i mean metallb is not a kind of best practice, right? should i use nordport if i have external load balancer or can i use external load balancer to forward to ip assigned by matallb? what is your recommendation?

  • @Vamshk
    @Vamshk 3 роки тому +2

    Great explanation, What Is the $PS1 you got? Can you pls share
    Many thanks
    Vamshi

    • @justmeandopensource
      @justmeandopensource  3 роки тому +1

      Thanks for watching. I did this video on my terminal setup which could be helpful.
      ua-cam.com/video/PUWnCbr9cN8/v-deo.html

  • @florianflowfabworx4460
    @florianflowfabworx4460 3 роки тому +1

    Is it already addressed, what to do if you have set up your cluster on VPS (virtual private servers) - eg 3 nodes, 1 master 2 worker nodes?
    In this case, you usually do not have a "Range of IPs" for making the config ...
    ... I have seen somewhere the suggestion to just enter the IPs of the (in this case 3) nodes then ...
    Does it work this way? Or, is metalLB the wrong tool then? (I have read somewhere, that on the Level-2 setup metalLB is not really loadbalancing it anyways - it is offering an opportunity to expose the cluster AND offers the check if the node is available to avoid sending requests to the pods on nodes that are actually down (sound a bit strange for me, because this should be the job of the kubernetes anyways...)
    thanx for your great work, btw - your videos are always a nice source!
    One suggested improvement: perhaps, you could add some or more comments within the examples of your github.
    You could even add comments with links to the videos including the time parameter for jumping to the videos outgoing from your github (might be rewarding ... )

  • @swethakristipati7303
    @swethakristipati7303 Рік тому

    Thanks venkat for the great explanation... actually i have installed metallb and service exposed got the external IP..i am bale to access the external ip only with the curl ...when i am trying to access in the browser unable to access this service...can you please help here ?

  • @devops-boot-camp
    @devops-boot-camp 3 роки тому +1

    Man you are awesome

  • @muralibala8738
    @muralibala8738 4 роки тому +1

    Thank you sir, for the really straight forward & understandable video. I have followed your video to setup the Metal LB in my laptop. I am able to get dynamic ip for my nginx services, but that Ip is not browsable & responds like not available. I am stuck up here & please help to resolve this.

    • @justmeandopensource
      @justmeandopensource  4 роки тому +1

      HI Murali, thanks for watching. Are you sure your backend pods are running fine? Can you check if you can access it using Nodeport service just to make sure that your backend pods works. Can you also test with some other deployment? Just to isolate the problem, see if you can find a pattern.

  • @smiimohamedayoub4023
    @smiimohamedayoub4023 4 роки тому +1

    Thanx for this interesting tutorial
    i have a question , can i use metallb for egress traffic ?? if not is there any solution that provide that on bare-metal infrastructure ?

    • @justmeandopensource
      @justmeandopensource  3 роки тому +2

      Thanks for watching. Metallb is a load balancing concept. Why would you need load balancing for egress traffic? I am not sure about your requirement to be honest.

    • @smiimohamedayoub4023
      @smiimohamedayoub4023 3 роки тому

      @@justmeandopensource Thanks for the reply , in my production environnement i would like to assignea public ip to each pod for the outgoing traffic , and i need to do it on the firewall with the pod ip adresses , So with calico i peered my cluster into my network over BGP (to make the pods publicly routable) and i used fixed IPs for the pods that need to send traffic out . and it work now for me :))

  • @venkateshponnaganti8719
    @venkateshponnaganti8719 4 роки тому +2

    hi im usingt aws cloud install k8s with ansible but i dont understand how to use loadbalancer service for my ingress rules plz zzz tell me or do aa video on that

    • @justmeandopensource
      @justmeandopensource  4 роки тому +2

      Hi Venkatesh, thanks for watching.
      See if this link helps.
      aws.amazon.com/blogs/opensource/kubernetes-ingress-aws-alb-ingress-controller/

    • @venkateshponnaganti8719
      @venkateshponnaganti8719 4 роки тому

      @@justmeandopensource hi sir I'm watching ur videos regularly but not on aws hosting I will tell u my requirement I'm installing k8s with andible I have to install all pods like Jenkins tomcat sonarqube nd redis nf rabbitmq with the helm I have attach persistent volume for all nd I have to use application load balancer for all pods I have to run and attach external ips with one load balancer I have to open all pods like load balancer ip/ Jenkins ,,, load balancer/tomcat for that I have to use ingress plzzz do one video on that plzzzzzz

  • @hakamgo3894
    @hakamgo3894 4 роки тому +1

    Thank you for this video! can MetalLB work in similar way with Minikube?

    • @justmeandopensource
      @justmeandopensource  4 роки тому +2

      Hi Hakam, thanks for watching. MetalLB comes as an addon in Minikube and is easier to enable and use it.
      $ minikube addons list
      $ minikube addons enable metallb
      $ minikube addons configure metallb
      Cheers.

    • @hakamgo3894
      @hakamgo3894 4 роки тому +1

      @@justmeandopensource Thank u so much, I appreciate it!

    • @justmeandopensource
      @justmeandopensource  4 роки тому +1

      @@hakamgo3894 You are welcome. Cheers.

  • @thunderbirds8633
    @thunderbirds8633 3 роки тому +1

    On the metallb site, there is this line added after yaml file to install metallb, if we skip this then metallb pods are failing to start. Can you explain why this is for # On first install only
    kubectl create secret generic -n metallb-system memberlist --from-literal=secretkey="$(openssl rand -base64 128)" So I deleted the namespace completely and created again with all steps.I have followed the steps of installation from metallb website.
    And the metallb containers are also running.
    After that I deployed an nginx service for testing with service as LoadBalancer.
    The LoadBalancer is not getting IP from metallb.
    Any suggestions on how to fix this?

    • @justmeandopensource
      @justmeandopensource  3 роки тому +1

      Hi, I did an updated video on this topic. Its the next video in this playlist.
      ua-cam.com/video/2SmYjj-GFnE/v-deo.html
      See if that helps.

  • @SantoshPatil-ld4yg
    @SantoshPatil-ld4yg 2 роки тому

    Hi I am new to kubenetes, I have created LB as peryour instruction.
    Now I am trying.to route my pos web page to other machines in my lan network .
    I am using VMware with 3 nodes cluster.

  • @mtcheryan
    @mtcheryan 4 роки тому

    Excellent tutorial!!

  • @volivattam
    @volivattam 5 років тому +1

    Thanks for your video. We want to use metallb for our on premises k8s cluster. We have around 50 services. Instead of creating 50 lb's is there a better way to use path base routing to route to desired services.

    • @justmeandopensource
      @justmeandopensource  5 років тому

      Hi Sridhar, have you checked my previous videos on Traefik and Nginx ingress controllers? If not, please have a look at it. It might give some directions for you.
      Once you get a basic understanding of ingress concept, you can check the below link (Simple Fanout) for your needs.
      kubernetes.io/docs/concepts/services-networking/ingress/
      Thanks,
      Venkat

  • @sparkman786
    @sparkman786 5 років тому +1

    Hello - great videos! I do have question onMetalLB vs HAProxy you showed in an earlier video. Can you help me understand the difference between these solutions? Should I also be installing Ingress controllers with MetalLB? Would you combine HAProxy and MetalLB together with Ingress Controllers? If so, perhaps you can add that to your list for videos. thanks much!

    • @justmeandopensource
      @justmeandopensource  5 років тому

      Hi, I did these videos around ingress, metallb and haproxy as I learned them. Didn't had a chance to see the bigger picture as where these fit and usecase scenarios. I will understand these better before commenting.
      Thanks,
      Venkat

    • @zend112
      @zend112 4 роки тому

      Like always, it depends. Do you want your service to talk to other services directly on the network? If you have 100 microservices running, I don't think this will scale well, so no. Usually you have a webapp composed of multiple small services that expose an API. Here is the case for the Ingress and Ingress Controller. You expose the API gateway as a LoadBalancer and you use redirect from there using Ingress rules to your APIs. I am still learning these concepts myself and maybe the explanation is not the best but it's a start.

  • @bobbykhan3451
    @bobbykhan3451 4 роки тому +1

    You have explained it so well but I have tried to assigned a static ip address and through the range pool range but service couldn't get an ip address. My environment is on fusion.

    • @bobbykhan3451
      @bobbykhan3451 4 роки тому +1

      Thanks!!

    • @justmeandopensource
      @justmeandopensource  4 роки тому +1

      Hi Bobby, thanks for watching. What's the IP range you specified? Try choosing a different range in the same network as your worker nodes. May be try picking the last few ones.

    • @bobbykhan3451
      @bobbykhan3451 4 роки тому +1

      I am not getting any ip address follow your instruction on Fusion's VMs

    • @bobbykhan3451
      @bobbykhan3451 4 роки тому +1

      @@justmeandopensource I am not getting external ip address, it's showing as pending state. My DHCP range on Fushion is 128-254 address. I even try to assign static ip adsress as you have mentioned in one of your threat.

    • @justmeandopensource
      @justmeandopensource  4 роки тому +1

      @@bobbykhan3451 Hmm. What version of Fusion are your running? And whats your host machine OS?

  • @HerryTCO
    @HerryTCO 10 місяців тому

    What is the advantage of using MetalLB to just creating a resource of type Service? As I understood the latter gives it an IP from the network plugin (in my case Flannel) and does the same without the complex setup? What am I missing? Thanks in advance :)

  • @MrNiceseb
    @MrNiceseb 3 роки тому +1

    is the CLI type hinting from tmux? if not which tools is that thanks

    • @justmeandopensource
      @justmeandopensource  3 роки тому +1

      Thats zsh-autosuggestion plugin that I use with Zsh shell. Nothing to do with tmux.
      I have done a video about the terminal setup where I have explained this.
      ua-cam.com/video/soAwUq2cQHQ/v-deo.html

  • @zhang20244
    @zhang20244 4 роки тому +1

    SO good ! , It works ! I just need it for my work test, Thank you

    • @justmeandopensource
      @justmeandopensource  4 роки тому +1

      Hi Frank, thanks for watching. Cheers.

    • @zhang20244
      @zhang20244 4 роки тому +1

      Just me and Opensource I hope you have video for install ML platform such as domino lab , airflow, Kubeflow., APIGEE., Tesonflow , these are opensource run on top of kubernetes . Thank you so much

    • @justmeandopensource
      @justmeandopensource  4 роки тому +2

      @@zhang20244 I haven't explored the ML world yet. Let me see if I have time to do that. Cheers.

    • @zhang20244
      @zhang20244 4 роки тому

      Just me and Opensource thank you ,
      also the dvc (data version control) is very important for ML

    • @justmeandopensource
      @justmeandopensource  4 роки тому +1

      @@zhang20244 Yeah.

  • @tiagosantos2136
    @tiagosantos2136 4 роки тому +1

    Question , you need to pass a range of IPs to MetalLB. But when I create a machine on AWS EC2 it comes with only 1 single IP, how to make this single public IP be the IP that MetalLB will provide?

    • @justmeandopensource
      @justmeandopensource  4 роки тому +1

      Hi Tiago, thanks for watching. MetalLB load balancing solution is for bare metal environment. In cloud environment, I haven't tried it and used the cloud ALBs.

  • @kairav-KRS
    @kairav-KRS 2 роки тому

    hii sir, How to do this in Kubernetes cluster running on ec2 instance on aws cloud (aws ec2 only use as a platform). I did same thing but in my case Loadbalancer external ip not accessible from outside

  • @jean-baptistelasselle4562
    @jean-baptistelasselle4562 4 роки тому +1

    Hi, A question here about the IP address being available "from outside the cluster" :
    => Here what I do not understand in your explanation on the IP range dgiven to metallb, is that you pick the INTERNAL IP of the cluster nodes
    => I mean let's say I have one machine on local network, with just one NIC 192.168.1.23 : On that machine I run the entire K8S cluster( VMs or containers), and then suddenly because there is metallb I can hit 10.209.211.* from 192.168.1.23 ? I do not understand that ...

    • @stdio9965
      @stdio9965 3 роки тому

      did you understand?

  • @OnBetamax
    @OnBetamax 5 років тому +1

    Maybe someone could answer a question. I've deployed it on Contabo. The public IP can be accessed from each host (1 master + 2 workers) but not from my computer. So, how could I redirect http connections from my host (231.X.X.X) to that LB IP?¿ It doesn't do it by default . Thanks!

    • @justmeandopensource
      @justmeandopensource  5 років тому

      Hi, Thanks for watching this video. I am not sure how networking is managed and hosts are exposed to public in Contabo. This metallb solution is specifically suited for bare metal on-prem environment and not for Cloud environment. Each cloud provider have their own load balancing solution.
      Is your service getting external IP address assigned from metallb configuration? If its assigning and you can't reach it, you better raise a support case with Contabo provider.
      Thanks

  • @satheeshnehru3886
    @satheeshnehru3886 5 років тому +1

    A genral question, how is service ip converted to pod ip???
    for example when i access service using service ip inside cluster how is it converted to pod ip? TIA.

    • @justmeandopensource
      @justmeandopensource  5 років тому +1

      Hi Satheesh, thanks for watching this video. Service is how you expose you application. Service is Kubernetes object that load balances the request to all the pods behind it by matching labels.
      You can do "kubectl describe service " to see the endpoints. Thanks.

  • @assaduzzaman_dsi
    @assaduzzaman_dsi 4 роки тому

    Dear Sir,
    Your tutorial is very nice and it is perfectly working. However I have a situation. I need to know the client REAL-IP address to do some IP based rule on a pod. But unfortunately I'm getting always cni gateway IP on my pod which is 10.244.x.1(10.244.0.1, 10.244.1.1, 10.244.2.1 etc). I'm using baremetal and metallb as load balancer with centos7 and cni plugin is flannel. I have cluster with one master and two node. Please help. I don't have any choice to use any public cloud like aws or gcp or azure.

  • @Amine-gp8im
    @Amine-gp8im 3 роки тому

    Thank you for the video. I have a question. what if my internal-IP for the nodes are not in the same network for example one node have 150.0.0.5 and the other one is 70.6.4.8

  • @jktrivedi29
    @jktrivedi29 4 роки тому +1

    consice and perfect. Thanks

  • @armpit1648
    @armpit1648 4 роки тому +1

    Hello, what is the use case for this approach compared to your other video about HA proxy based external balancer + Ingress in NodePort mode?

    • @justmeandopensource
      @justmeandopensource  4 роки тому +1

      Hi, thanks for watching. These are just different ways to expose your applications to outside world. The approach you choose will largely depend on your individual scenario.

  • @jamilshaikh-tr2qb
    @jamilshaikh-tr2qb 4 роки тому

    I have created my k8s environment over OpenStack, I have provided the address range in the config map of metallb. but the IP assigned is not reachable!

  • @MrDjegsi
    @MrDjegsi 4 роки тому +1

    Hi Just , nice video , l have implemented LB , and working good, but why this IP are not pingable ?

    • @justmeandopensource
      @justmeandopensource  4 роки тому +1

      Hi Lulzim, Thanks for watching. Those IPs won't be pingable which is kind of expected and it is by design.

  • @vamseenath1
    @vamseenath1 4 роки тому +1

    Hi Venkat,
    Need your advice, please!
    I have Build K8 Cluster with 3 Masters + 5 Worker nodes. Due to security reasons, no public IP's assigned. Internally within the network the Application exposed is accessible with private-ip:nodeport, but from the outside world it is not accessible.
    -Now to access the App :nodeport to be mapped with public ip?
    -To expose with type:LoadBalancer should i configure MetalLB with public ip range?
    Any best solution please?

    • @justmeandopensource
      @justmeandopensource  4 роки тому +1

      Hi Vamsi, thanks for watching. MetallB is for bare metal infrastructure. It won't work well in cloud environment as you don't have control over ip addresses. I believe you are using kubernetes in a cloud environment. You can keep your nodes in a private subnet/network and still use LoadBalancer type service to expose it to outside world. Only your load balancer needs access to the private network where your nodes are running. Cheers.

    • @vamseenath1
      @vamseenath1 4 роки тому +1

      @@justmeandopensource
      Hi Venkat, My K8 infra is also on the baremetal server VMware infra(on top of ibm cloud). Where the ip definition is managed by our network team. My idea is to reserve a range of public ip's and use it in the metalLB, where the reserved ip range should have access to k8 private network.

    • @justmeandopensource
      @justmeandopensource  4 роки тому +1

      @@vamseenath1 In order for metallb to work you will have to choose the ip addresses in the same range as your kubernetes nodes. Your private and public network will be different. So I guess it wouldn't work. You could instead have a HAProxy load balancer installed on a server in a public network and use nginx ingress internall within the cluster.

    • @vamseenath1
      @vamseenath1 4 роки тому +1

      @@justmeandopensource thanks Venkat for your advice 👍🏼🙏🏼

    • @justmeandopensource
      @justmeandopensource  4 роки тому +1

      No worries.

  • @jinalpatel7721
    @jinalpatel7721 5 років тому +1

    Good video. Just have doubt that why some videos are private in kubenetes playlist ?

    • @justmeandopensource
      @justmeandopensource  5 років тому

      Hi Jinal, Thanks for watching this video. I usually record and upload videos. And release them one per week on Mondays. Thats why you see them private.
      Thanks,
      Venkat

  • @fz-ssaravanan2036
    @fz-ssaravanan2036 5 років тому +1

    Hi bro... I have a doubt ... I have 2 bare matel server in hetzner I have configured k8s using flannal network.. want to configure ingress Loadbalancer using metalb... Here will I go to configure IP ranges In my master node and give gateway subnet mask ?? if I use hetzner will I go to buy IP in hetzner...kindly help me bro

    • @justmeandopensource
      @justmeandopensource  5 років тому +2

      Hi Saravanan, thanks for watching this video. MetalLB solution is best suited for bare metals and if you have control over networking. I haven't used Hetzner before and not sure how networking works. If its a cloud provider, they should have load balancing built in. If you are using the cluster for learning and development purpose, you can just use one machine and set up a local cluster using LXC or Docker containers.
      ua-cam.com/video/4p4DqdTDqkk/v-deo.html (Using docker containers)
      ua-cam.com/video/XQvQUE7tAsk/v-deo.html (Using LXC containers)
      Thanks.

    • @fz-ssaravanan2036
      @fz-ssaravanan2036 5 років тому +1

      @@justmeandopensource thanks for your reply bro.. I have done my job using metalb... Your video is very awesome to learn easily 👍 good job bro 💪

    • @justmeandopensource
      @justmeandopensource  5 років тому +2

      @@fz-ssaravanan2036 You are welcome. Cheers.

  • @rizkyprilian2143
    @rizkyprilian2143 4 роки тому +1

    Hi Venkat, thanks for the tutorial. However I still don't get the address pool, perhaps you could tell me how does metallb work. Let's say i have three vm nodes that each has their own private ip address. and then i set the metallb address pool with other private ip address within same subnets, but who owns those addresses since they are not belong to any vm nodes within the network?

    • @justmeandopensource
      @justmeandopensource  4 роки тому +2

      Hi Rizky, thanks for watching. Those IP addresses that you specify in the metallb configmap will be handed over by the virtual network interface. If you are running this in cloud, with 3 virtual machines, it won't work as you don't have control over the network interface/dhcp server. It is well suited in the bare-metal on-prem infrastructure.

    • @rizkyprilian2143
      @rizkyprilian2143 4 роки тому

      @@justmeandopensource alright I understand now.
      I've also just watch your other video about Istio, in that video I noticed that you have different ip range for external IP than your internal node IP. Since you also mentioned metallb usage in that video, would you point me out any reference of how to do that? Thank you again

    • @rizkyprilian2143
      @rizkyprilian2143 4 роки тому

      @@justmeandopensource in my case, my vm cluster has both internal private ip and public ip. I would like metallb use those public ips

  • @nyanRETARD
    @nyanRETARD 4 роки тому +2

    Hi, great video and I understood everything except. Why do you define IP range 10.209.211.220 - 10.209.211.250 ?
    Your nodes are 10.209.211.287 and 10.209.211.106. Numbers 287 and 106 are not in range 220-250. I run only master node(I guess another node should be different server) on a bare metal server(upCloud) and following the tutorial I got everything working except the external IP of LoadBalancer points to some random web site(market place). Thanks for the answer in advance

    • @justmeandopensource
      @justmeandopensource  4 роки тому +2

      Hi, thanks for watching. Yes, thats the point. The ip range you specify should be on the same network as your worker nodes. So it should be in 10.209.211.0/24 network. But you should define a range of unused IP addresses.

    • @CloudNativeJanitor
      @CloudNativeJanitor 4 роки тому +1

      @@justmeandopensource but how can you make sure you will not have IPAM issues later, that is you are using out randomly ip addresses, is there a better way to allocate these ips without causing issues later on?

    • @IgnoreMyChan
      @IgnoreMyChan 4 роки тому +3

      @@CloudNativeJanitor You should reserve that range for the load balancer.

    • @justmeandopensource
      @justmeandopensource  4 роки тому +2

      Indeed you should reserve a range for load balancer.

    • @JJlinkjk
      @JJlinkjk 2 роки тому

      @@justmeandopensource Hi, awesome video. I got a question here, the node IP seems to be internal network IP addresses? Starts with 10. How can I get a public external IP that I can change my DNS point with and everyone else can access it by using my domain? Thanks.

  • @wibinem
    @wibinem 5 років тому +2

    Can you give the example MetalLB in BGP Mode? Thank you.

    • @justmeandopensource
      @justmeandopensource  5 років тому +1

      Hi Wiebz, I will have a look at the documentation and understand how it works After trying it my network and if I get anywhere, I will definitely make a video of it. Thanks.

  • @vasudevreddy3548
    @vasudevreddy3548 4 роки тому

    Hi, i am running gcp vm cluster (not gke). Everything looks good. But load balancer ip is not accessible from outside. How to proceed.
    Thank you.

  • @jklibra2
    @jklibra2 5 років тому +1

    Hi Venkat,
    Thanks for excellent video. It always help watching online demo than reading documents.
    I have followed your steps, however facing one issue as below.
    I have Kubernetes cluster with three master and five worker nodes.
    If I give address range from Master 1 to Worker 5 (Total 8 IPs) in MetalLB config ; it works as desired.
    However If I give address range outside Kubernetes cluster but same address range; it creates Load Balancer IP but from Browser it is not accessible.
    Any thought on this.
    Regards,
    Jayesh

    • @justmeandopensource
      @justmeandopensource  5 років тому +1

      Hi Jayesh, thanks for watching this video. I have heard similar issue from few others as well. Not exactly sure what is causing this.
      Also the choice of overlay network in your cluster might also cause this. I am using Flannel as the overlay network.
      How is your cluster provisioned? Where is each node running? Is it your development environment in your local workstation or is it running on multiple physical servers? Or in cloud? Thanks.

    • @jklibra2
      @jklibra2 5 років тому

      Hi Venkat, we are also using Flannel as overlay network. My cluster is a Development environment where VMs have been provisioned on Azure Cloud and but we are not using Azure Kubernetes Service. We have manually installed Kubernetes on the VMs and made cluster ready.

    • @justmeandopensource
      @justmeandopensource  5 років тому +1

      @@jklibra2 Hmm. Thanks for the details. MetalLB is for bare metals. I am yet to try this on a cloud environment. Hoped it would work without any tweaks. But will try this in AWS cloud instead and see if I can reproduce. Thanks.

  • @ThanhNguyenVan-ss7yy
    @ThanhNguyenVan-ss7yy 2 роки тому +1

    hi Venkahsh,
    do we know how the Loadbalancer is working fine that routed traffic to the right node ?
    For instance, if nginx pod was replacated into each node then once we refresh the Nginx welcome page it should point to each node where the pod is running on
    thanks you

    • @justmeandopensource
      @justmeandopensource  2 роки тому

      Hi Thanh, thanks for watching.
      If you see the nginx welcome page then it is obvious that load balancer is working. If you want to check whether its routing traffic correctly, schedule the nginx pod to a specific worker node and then kill it, then launch it on another node. Thats the point of load balancer.

    • @ThanhNguyenVan-ss7yy
      @ThanhNguyenVan-ss7yy 2 роки тому +1

      @@justmeandopensource thanks

    • @justmeandopensource
      @justmeandopensource  2 роки тому

      @@ThanhNguyenVan-ss7yy You are welcome.

    • @ThanhNguyenVan-ss7yy
      @ThanhNguyenVan-ss7yy 2 роки тому

      @@justmeandopensource I have checked out some latest your videos for about the MetalLB and Ingress controller. It seems still some confuse on me for the roles of each one like:
      - Ingress controller operates as a reverse proxy and it also take as a LoadBalancer role
      - MetalLB, we sure that It works a LoadBalancer
      I dont know if my understand is correct then Metal LB and Nginx controller do they have different in this design? Why we have use both of them in the K8S?
      Thanks you in advance!

  • @bayaas0025
    @bayaas0025 4 роки тому +1

    I have used metal lb my external IP was under pending. Metallb controller and speaker pods are running fine. Configmap also applied

    • @justmeandopensource
      @justmeandopensource  4 роки тому +1

      Hi, thanks for watching. What is your environment like? how did you provision the kubernetes cluster? What hypervisor are you using? Did you check the logs of all the metal lb pods after creating the load balancer service?

  • @ishqsafari6753
    @ishqsafari6753 5 років тому +1

    Thanks a lot for the detailed tutorials on k8s!!! I'm getting "connection refused" when I try to access nginx from browser/curl. I see metallb assigned an external IP but not able to access it. I'm giving neighboring ip range that are not used by other systems. What could be a problem here? Do I need to do something special to the IP range? like virtual IP ?

    • @justmeandopensource
      @justmeandopensource  5 років тому

      Hi, thanks for watching this video. I heard the same from another person as well. I am not entirely sure what the issue could be.
      Usually the problem will be that metallb fails to assign an ip address and external ip will be in state. But in your case you get the IP assigned.
      Not sure what the issue could be.
      What's your ip range of the cluster nodes? What ip range you specified in the metallb config? What external ip got assigned to your service?

    • @ishqsafari6753
      @ishqsafari6753 5 років тому +1

      @@justmeandopensource thanks for the reply! The metalLB range is 95.94.197.100-95.94.197.110 and cluster is using 95.94.197.241-95.94.197.247. But when I give metalLB cluster's IP range then it's working. But I don't think I should give that cluster node's IP to the metalLB.

    • @justmeandopensource
      @justmeandopensource  5 років тому

      That's what my understanding is as well. The ip range you specify in the metallb configuration should be in the same network as that of the cluster nodes. Thanks.

    • @ishqsafari6753
      @ishqsafari6753 5 років тому +1

      @@justmeandopensource You're right. You beat me to it! I came here to just to comment that it has to be in the same subnet. Now I think I need to explore assigning IPv6 or IP forwarding because I see there're only 7 unused IP addresses in my cluster nodes subnet.

    • @justmeandopensource
      @justmeandopensource  5 років тому

      @@ishqsafari6753 I see.

  • @SachithNalakaMuhandiram
    @SachithNalakaMuhandiram 4 роки тому +1

    Thanks for the detailed guide. I have followed the steps and installed Metallb and nginx. External IP also assigned. But I can not access to it from the network. Even with hosting PC.

    • @justmeandopensource
      @justmeandopensource  4 роки тому +1

      Hi Sachith, thanks for watching. I believe your infrastructure is somewhere on a hosting cloud. It might be due to firewall or some networking issue. MetalLB is more for on-prem situation. Cheers.

    • @foxipub3629
      @foxipub3629 4 роки тому +1

      @@justmeandopensource Hi Vikant, same problem here and i use on-prem configuration (firewall and SElinux turned off) and i cant reach external IP not from host machine nor from cluster members ... please can you take a look closer ... thank you.

    • @justmeandopensource
      @justmeandopensource  4 роки тому +1

      @@foxipub3629 Thanks for watching. Could you please explain a little more about your infrastructure? Are these virtualbox vms or physical machines? What is your network range for the kubernetes nodes and what range you specified in your metallab config?

    • @foxipub3629
      @foxipub3629 4 роки тому

      @@justmeandopensource Hi Vikant.I am using Hyper-V as hypervisor platform.At first i changed type of virtual switch from default to external, in second last time i ignored some instructions from metallb site (this:
      apiVersion: kubeproxy.config.k8s.io/v1alpha1
      kind: KubeProxyConfiguration
      mode: "ipvs"
      ipvs:
      strictARP: true)
      and now i apply it then i repeat all your steps and it works now! Thank you!

  • @sparkman786
    @sparkman786 5 років тому +1

    Hi - One recommendation I have for services is to create a yaml for them and store in your github repo. When you use the command line, it is hard to remember where in the video you did this. thanks!

    • @justmeandopensource
      @justmeandopensource  5 років тому

      Hi, many thanks for watching this video. Thats a good suggestion. I will make sure to have a manifest instead of command line for creating resources here after. Valid point.
      Thanks,
      Venkat

  • @realthought2262
    @realthought2262 4 роки тому

    Hey i want to ask you one thing that can we do same with our cloud machine.... Will we need to configure cloud controller manager first and do we have to enable external loadbalancer flag also... bit confused ... suggestions please !! thx

  • @sudheshnair1711
    @sudheshnair1711 5 років тому +1

    Hi Venkat. What if i want to expose the svc to internet? Can i use the Public IP which i have registered in my DNS in the configmap?

    • @justmeandopensource
      @justmeandopensource  5 років тому +1

      Hi Sudhesh, Yes, if the load balancer got an IP address in the range you defined in your metallb configmap and if that IP address is publicly reachable.
      Thanks.

  • @prashantparihar5117
    @prashantparihar5117 4 роки тому

    Hi tried all the steps that have been shown in your video. I got the external ip address for my LB-Svc. but when I browse it says"connection timed out". I have installed kubernetes cluster on AWS EC2 instances and have carried out bare-metal installation but it did't work out for me - it says ""connection timed out". Can you help what could be reason. Are you planning to create another video on the same topic as many of us are still facing the issues. Appreciate your help and thank you!!

    • @justmeandopensource
      @justmeandopensource  4 роки тому

      Hi Prashant, thanks for watching.
      MetalLB is a load balancing solution for on-prem infrastructure. If you are alread in the cloud, you can make use of cloud load balancer. I haven't actually tried using MetalLB in AWS. It may not work at all.

  • @nathanbrown2459
    @nathanbrown2459 5 років тому +1

    How do you expose or access the cluster from an external source? I have ingress-nginx and metallb set up and a web svc exposed on port 80. When I get services it shows an external ip that is the same for the web svc and the ingress. The ingress is of type load balancer and the web svc is currently set to type nodeport.

    • @justmeandopensource
      @justmeandopensource  5 років тому +1

      Hi Nathan, Thanks for watching. MetalLB is a load balancing solution for your internal kubernetes cluster needs. I think you are mixing ingress and metallb. Or I may be wrong in the understanding. I assume you are running your cluster on bare metals and not on any cloud. So here is the way ingress works. You create you app deployment, expose it as a service of type ClusterIP (not NodePort). Then you create an ingress resource, stating which backend clusterip service the traffic should be sent to when a request comes for a specific domain. Ingress controller is a pod that runs on each of your nodes and are bound to host ports 80 and 443. You will have to configure an external load balancer like haproxy (not metallb) to load balance the requests to multiple worker nodes. When you hit the load balancer for a specific domain (eg: myapp.example.com), it will forward to one of the load balancer and the ingress controller pod on that node will route the request to the backend cluster ip service.
      Thanks.

    • @nathanbrown2459
      @nathanbrown2459 5 років тому +1

      @@justmeandopensource I was able to set it up using metallb and istio ingress gateway which was able to use the external IP from metallb. I created an Istio Ingress Gateway and a virtual service.

    • @justmeandopensource
      @justmeandopensource  5 років тому +1

      @@nathanbrown2459 That's great. In fact I was gonna try something similar later this week and will make it a video. Thanks.

  • @janjezek9333
    @janjezek9333 5 років тому +1

    Hi @Just me and Opensource. I like very much how clearly you explain complex things.
    But I have still a problem:
    I exactly followed your tutorial (except the IP range you provide / I customized it to be in my used IP range), but the LB keeps in state... I am on a Hetzner Cloud (because it's unbeatable cheap).
    Can you please help me to get my Loadbalancer running? I sit there now for two weeks on this issue and getting despair.
    Thank you in advance

    • @justmeandopensource
      @justmeandopensource  5 років тому

      Hi Jan,
      Thanks for watching this video.
      After you created the MetalLB resources, you create the configmap with ip address range details. This ip range should be in the same network as your worker nodes, otherwise it won't work.
      In my set up I have used Flannel as the pod overlay network. There are others like Calico, WeaveNet which I haven't tried. What overlay network you are using and how you had set up your cluster?
      Thanks,
      Venkat

    • @janjezek9333
      @janjezek9333 5 років тому

      @@justmeandopensource thank you for your response.
      I used the IPs from my workers. Then I tried IP ranges next to it.
      I also had in my mind, that my cloud provider does something "invisible" with the network routing. So I wrote them today and wait for their response. I use Calico right now. I setup the whole cluster through Rancher which is an awesome GUI for K8s. To be honest I am a software developer and not a devop-guy, so my knowledge of networks, routing and that stuff is extremely limited. This is also a reason why I use rancher. Right now I registered an account at Scaleway to try there my luck, they have nearly exact same prices on machines like Hetzner (where I have these issues).
      Are your demo on a real world cluster or on minikube?
      I will create now a cluster with Flannel on Hetzner.
      I also thought that I maybe have to make some tweaks in the kubeconfig to get my setup running.

    • @justmeandopensource
      @justmeandopensource  5 років тому

      The first overlay network I tried was flannel which worked and ever since my cluster setup is using flannel.
      For all the demos, I use my Laptop running Linux.
      I use one of the below setups for my cluster and recently only using the second option with LXC containers.
      Using Vagrant Virtual Box for nodes
      ua-cam.com/video/wPdIBeWJJsg/v-deo.html
      Using LXC containers for nodes
      ua-cam.com/video/XQvQUE7tAsk/v-deo.html
      Thanks

    • @janjezek9333
      @janjezek9333 5 років тому

      @@justmeandopensource Hi @Just me and Opensource again. I spun up a new cluster with Flannel. (I didn't work out of the box. I had to add a yml file (raw.githubusercontent.com/coreos/flannel/bc79dd1505b0c8681ece4de4c0d86c5cd2643275/Documentation/kube-flannel.yml). I have now an "External IP" for the first time. (YAY!)
      But when I call my IP it's bringing me only to the "default backend 404"
      kubectl get all
      NAME READY STATUS RESTARTS AGE
      pod/nginx-57867cc648-tq6sq 1/1 Running 0 13m
      NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
      service/kubernetes ClusterIP 10.43.0.1 443/TCP 35m
      service/nginx LoadBalancer 10.43.201.213 159.69.121.90 80:31432/TCP 13m
      NAME READY UP-TO-DATE AVAILABLE AGE
      deployment.apps/nginx 1/1 1 1 13m
      NAME DESIRED CURRENT READY AGE
      replicaset.apps/nginx-57867cc648 1 1 1 13m
      Do I have to add an ingress too?
      How can I resolve to a DNS?

    • @janjezek9333
      @janjezek9333 5 років тому

      By the way, I also had to use my Server IPs.
      kubectl get nodes -owide  ✔
      NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
      system1 Ready controlplane,etcd,worker 37m v1.13.4 159.69.121.90 Ubuntu 16.04.5 LTS 4.4.0-142-generic docker://18.9.4
      apiVersion: v1
      kind: ConfigMap
      metadata:
      namespace: metallb-system
      name: config
      data:
      config: |
      address-pools:
      - name: default
      protocol: layer2
      addresses:
      - 159.69.121.90/32

  • @thiruvengadesh
    @thiruvengadesh 5 років тому +1

    i would like assign ip address manually instead of auto picking from range. is that possible with metallb?

    • @justmeandopensource
      @justmeandopensource  5 років тому +1

      Hi Thiru, thanks for watching. I think I have used it successfully in the past. Just specify the ip address in the service manifests like below. Use the ip address in the range you defined in the metallb config.
      spec:
      type: LoadBalancer
      loadBalancerIP: 10.16.0.250
      Its better to let metallb allocate the ip instead of hard-coding. See if that works.
      Thanks.

  • @abbaaabccabbaaabcc2350
    @abbaaabccabbaaabcc2350 5 років тому +1

    Fast one. How is this "autocomplete" option/app/solution name who allow you to in background see kubernetes/bash commands? This autosuggestion is coming from bash history? Thank you.

    • @justmeandopensource
      @justmeandopensource  5 років тому

      Hi, I have done a video on my terminal setup as many viewers asked for it.
      You can check it out in the below video link.
      ua-cam.com/video/soAwUq2cQHQ/v-deo.html
      Thanks,
      Venkat

  • @cokegen
    @cokegen 4 роки тому

    Thanks ! great explanation ...

  • @moma2189
    @moma2189 4 роки тому +1

    hi guys. is metallb at the moment a good solution or is it deprecated? is there an alternativ?

    • @justmeandopensource
      @justmeandopensource  4 роки тому +1

      Hi, thanks for watching. I believe there are other on-prem load balancing solutions out there which I haven't tried. MetalLB is robust enough to be used on-prem in my opinion. Cheers.

  • @MultiTechspec
    @MultiTechspec 4 роки тому +1

    Can you use metalb with a Nginx ingress controller as well?

    • @justmeandopensource
      @justmeandopensource  4 роки тому +1

      hi thanks for watching. I haven't actually tried it but I think it should be possible. Cheers.

  • @TheLittlemaster2009
    @TheLittlemaster2009 5 років тому +1

    hello , can u please explain how we can remove it without deleting whole cluster,? can deleting the metallb namespace can delete all its components like controller and speakers which installed by apply -f command ., as i want to reinstall the process , completely .

    • @justmeandopensource
      @justmeandopensource  5 років тому +2

      Hi Shoaib, just delete the metallb namespace and delete the configmap where you defined the configuration like IP range. Thanks.

    • @TheLittlemaster2009
      @TheLittlemaster2009 5 років тому +1

      @@justmeandopensource thanks alot man ☺

    • @justmeandopensource
      @justmeandopensource  5 років тому +1

      You are welcome. Cheers.

  • @JonnieAlpha
    @JonnieAlpha 4 роки тому +1

    Would you suggest using Ingress Controller or MetalLB?

    • @justmeandopensource
      @justmeandopensource  4 роки тому +2

      Hi, thanks for watching. Metal LB is for load balancing and ingress controllers are for routing the traffic inside your cluster. I would use metallb with ingress controller. Ingress controller have the logic. You define where to route the traffic when a request arrives for a specific domain/url. This is handled by ingress controller.

    • @JonnieAlpha
      @JonnieAlpha 4 роки тому +1

      @@justmeandopensource thank you for a fast reply Venkat. Seems like i indeed misunderstood tje difference between ingress controller and MetalLB.
      Raises another question. Is MetalLB a replacement for HAProxy? As HAProxy has to be server outside the kubernetes cluster and MetalLB can stay in the cluster.

    • @justmeandopensource
      @justmeandopensource  4 роки тому +1

      Yes, metallb is meant to be used within the cluster for exposing the service. HAProxy is a general load balancing and reverse proxying solution.

  • @jitendra2950
    @jitendra2950 4 роки тому

    i am having kubernetes cluster with one master and two worker on vmware with centos machine. i have installed metallb and services. cluster heath is good but i am not able to get external ip for load balancer. config map also created with IP. Can you please help me where do i go to troubleshoot ?

  • @weitanglau162
    @weitanglau162 3 роки тому

    If I am planning to use Nginx Ingress Controller for my Bare Metal Kubernetes Cluster, I will still need to setup MetalLB for the controller to "acts" as a load balancer right?

  • @satishtxt
    @satishtxt 4 роки тому

    My big question is why did you use metalLB for this task? There are other alternative available.

  • @balajisivaram1476
    @balajisivaram1476 5 років тому +1

    Hi Venkat, I followed this video to expose my app using metallb. Since I already had the cluster ready I just needed the loadblancer so that I can expose my app publically. After watching the video I'm able to set an external IP and when i curl the load balancer ip within the cluster I could see my app however when I access the load balancer ip on a browser it gives me page not found.
    I have used weave network for overlay. Any advice? I just started exploring kubernetes lately and thanks for the informative videos btw.

    • @justmeandopensource
      @justmeandopensource  5 років тому

      Hi Balaji, thanks for watching this video. I have used Flannel as the overlay network on all my setup.
      I am going to quickly spin up a cluster and use weavenet and test metallb.
      Will update you shortly.
      Thanks

    • @justmeandopensource
      @justmeandopensource  5 років тому

      Hi Balaji, I just tried it using Weave Net and it worked perfectly fine.
      What network range your worker nodes are in and what network range you specified in the metallb config-map configuration?
      Thanks.

    • @balajisivaram1476
      @balajisivaram1476 5 років тому +1

      @@justmeandopensource Hi Venkat, thanks for looking. The address range I used for my nodes are 10.2.1.0/24. I have a single worker node and I configured it using kubedam. I used azure to deploy two virtual machines one for master and other for node my master has an ip of 10.2.1.4 and worker 10.2.1.6 so in the configuration file I specified a range between 10.2.1.8-10.2.1.20. please advise
      I have been using flannel but I remember last time had trouble bootstrapping the cluster using kubeadm using flannel after I tried weave it worked and never been a problem.

    • @justmeandopensource
      @justmeandopensource  5 років тому

      I am not sure how it works in the cloud. But for me it works very well in both flannel and weave net.

  • @arslan.akhtar
    @arslan.akhtar 4 роки тому

    How to decide what range of ip addresses pool to assign to metalLB layer-2 configMap.yaml? How can I check what range of ip addresses are available for a linux/win10 machine? The private ip's assigned to your nodes were 10.209.211.35, 10.209.211.107, 10.209.211.106, so does it mean that in metalLB configMap, you can choose your private IP Addresses in any range from 10.209.211.0/24 = 10.209.211.0 - 10.209.211.255? and then metalLB will convert these range of private IP's to public IP's?

    • @justmeandopensource
      @justmeandopensource  4 роки тому +1

      Hi Muhammad, thanks for watching. You should use a range of ip address from the same network that is not already used. For example, if nodes ips are 10.209.211.35, 10.209.211.106, 10.209.211.107, i would choose a range like 10.209.211.230-10.209.211.250, setting aside some 20 ip addresses. Cheers.

    • @arslan.akhtar
      @arslan.akhtar 4 роки тому

      @@justmeandopensourceThanks a lot. Your channel is very informative. Thanks for your videos.

    • @justmeandopensource
      @justmeandopensource  4 роки тому

      @@arslan.akhtar You are welcome. Cheers.

  • @rmnobarra
    @rmnobarra 5 років тому +2

    nice video!

    • @justmeandopensource
      @justmeandopensource  5 років тому +2

      Hi Leonardo, thanks for watching this video.

    • @rmnobarra
      @rmnobarra 5 років тому +1

      @@justmeandopensource you help me a lot. Thanks from Brazil!

    • @justmeandopensource
      @justmeandopensource  5 років тому +1

      @@rmnobarra You are welcome.

  • @ShyamKumar-yn2jw
    @ShyamKumar-yn2jw 4 роки тому +1

    if there is a reverse proxy, we will give the IP:port of the LB to it?
    Thanks

    • @justmeandopensource
      @justmeandopensource  4 роки тому +1

      Hi Shyam, thanks for watching. May I ask you to explain a bit more about your requirement? thanks.

  • @aymenghazali5113
    @aymenghazali5113 3 роки тому +1

    Thank you

  • @meirkr
    @meirkr 4 роки тому +1

    Hi
    Can the LB pull adresses from a DHCP dynamically instead of defining a specific range?

    • @justmeandopensource
      @justmeandopensource  4 роки тому +2

      Hi Meir, thanks for watching. I am not sure if thats possible. I will have to try and test that.

    • @meirkr
      @meirkr 4 роки тому +1

      @@justmeandopensource tx. Can you please?

    • @justmeandopensource
      @justmeandopensource  4 роки тому +1

      @@meirkr I need to dig further. At first glance and at first attempt it didn't work. It requires the IP range to be specified in the configmap.

  • @johancahyamanggala
    @johancahyamanggala 4 роки тому +1

    help update this guide to new version kubernetes and using helm3
    thankyou

    • @justmeandopensource
      @justmeandopensource  4 роки тому +1

      Hi Johan, thanks for watching. Sure I will look into it.

    • @justmeandopensource
      @justmeandopensource  4 роки тому +1

      Hi Johan, i just had a look and nothing really changed significantly. The prcess is still applicable. Just the versions have changed. There is no use of helm3 in the installation process. Its still the same kubectl apply manifest file.

  • @nikhildogra7706
    @nikhildogra7706 4 роки тому +1

    Hi,
    Is there any way with which i can access it using public ip address.
    Note: Master and worker nodes are in cloud and metalLB as a load balancer

    • @justmeandopensource
      @justmeandopensource  4 роки тому +1

      Hi Nikhil, thanks for watching. Metallb is meant to be used for bare-metal environment. If you are in cloud, you don't need a metallb and directly start using load balancer service.