[ Kube 59 ] Deploy and use Nginx ingress controller

Поделиться
HTML-код
  • Опубликовано: 21 окт 2024

Комментарии • 201

  • @codelinx
    @codelinx 7 месяцев назад +1

    Exactly what I was looking for!

  • @Yesdin007
    @Yesdin007 Год назад +1

    You are the best tutor i found for kubernetes. You are making everything easy and clear, wishing you a good life from Morocco

  • @hiteshzope296
    @hiteshzope296 3 года назад +4

    You are the best tutor i found for kubernetes. You made my kubernetes learning very easy

    • @justmeandopensource
      @justmeandopensource  3 года назад +2

      Hi Hitesh, many thanks for your interest in my videos. Glad you found it useful. Cheers.

  • @sivaramaraju3900
    @sivaramaraju3900 3 года назад +3

    Really great tutorial dear Venkat. I have been spending a lot of time trying to learn Kubernetes lately and had been stuck with understanding Ingress controller for a while now, especially with the loadbalancer and its external IP part. I first came to this video and as per your suggestion, jumped to your video on setting up MetalLB and successfully set it up. After that I had no problems following the rest of this video.
    I now have a very good understanding of Ingress controller and would now head into more challenging use cases. Thanks a ton.

    • @justmeandopensource
      @justmeandopensource  3 года назад +1

      Hi Siva, many thanks for your interest in this channel. Glad it helped you. Cheers.

    • @sivaramaraju3900
      @sivaramaraju3900 3 года назад +1

      @@justmeandopensource Thank you for your response Venkat. I face one issue now and was hoping if you had the time to look at it. I have a deployment of grafana (container port 3000) and the service port is 8000. I tried configuring the ingress similar way how you showed for nginx, but it doesn't work. Do we need to define a new port in the ingress controller for service port 8000 ? I did try it, but it doesn't help. What helped is changing my service port to 80.

    • @sivaramaraju3900
      @sivaramaraju3900 3 года назад +1

      Hi Venkat. I just reconfigured my deployment and switched back to service port 8000, but modified the path in the ingress definition so that it is just "/" and now access to the service works fine. Not sure why i cannot give "/grafana" as the path. I have noticed that when i enter the "HOST/grafana", it gets redirected to "HOST/login". Is that the reason why /grafana path doesnt work ? I also tried to define two paths, but it doesnt work as well. I will keep trying.

    • @sivaramaraju3900
      @sivaramaraju3900 3 года назад +1

      Hi Venkat. I just reconfigured my deployment and switched back to service port 8000, but modified the path in the ingress definition so that it is just "/" and now access to the service works fine. Not sure why i cannot give "/grafana" as the path. I have noticed that when i enter the "HOST/grafana", it gets redirected to "HOST/login". Is that the reason why /grafana path doesnt work ? I also tried to define two paths, but it doesnt work as well. I will keep trying.

    • @justmeandopensource
      @justmeandopensource  3 года назад +1

      @@sivaramaraju3900 for path based ingress routing to work, you also need to add the annotations to ingress resource as shown in this video

  • @shubhamshastri7409
    @shubhamshastri7409 Год назад +1

    Thankyou so much man for amazing lecture

  • @thannasip8001
    @thannasip8001 4 года назад +2

    thanks bro,got better clarity on ingress and LB

  • @anthonyaltemara6530
    @anthonyaltemara6530 4 года назад +1

    This is a wonderful walk-through. Thank you!

    • @justmeandopensource
      @justmeandopensource  4 года назад +1

      Hi Anthony, thanks for watching.

    • @pareshpatel493
      @pareshpatel493 3 года назад

      I am planning to get JOB in Kubernetes, and i watch almost most your videos. Now i know much better then person working in company, LOL

  • @ToallpointsWest
    @ToallpointsWest 4 года назад +1

    Excellent video! Thank you!

  • @AhmedMahmoud-tr1yf
    @AhmedMahmoud-tr1yf 4 года назад +1

    man, you are doing a great job. your videos has a huge share in my kubernetes knowledge. please keep doing these videos. 😍

    • @justmeandopensource
      @justmeandopensource  4 года назад +1

      Hi Ahmed, thanks for your interest in this channel. Very glad to hear this.

  • @sanjitkrdas8500
    @sanjitkrdas8500 2 года назад

    It is really valuable tutorial and I have done almost everything but path based routing. the path base routing is not working in my case

  • @chintamanitripathy3167
    @chintamanitripathy3167 4 года назад +1

    Hi ,Nice explanation,we are only use ingress for path routing here ,then why we called it as nginx-ingress load balancer ?

    • @justmeandopensource
      @justmeandopensource  3 года назад +1

      Hi, no matter whether you are using path based or host based ingress routing, internally ingress controller forwards the traffic to respective service and you can configure multiple services based on path. This process is also part of load balancing.

  • @manikandans8808
    @manikandans8808 4 года назад

    Hi Venkat,
    I have couple of doubts,
    1. When I do a path based routing, I'm finding the CSS contents 404 but the main index.html page is working.
    2. The default load balancer created of type Classic, can I change it to Aws application load balancer?

  • @hanumaadabala9541
    @hanumaadabala9541 3 года назад

    Very nice tutorial. May I know what terminal that is ?

  • @mtcheryan
    @mtcheryan 4 года назад

    Great tutorial!! Thanks for your efforts

  • @namanrawal5849
    @namanrawal5849 3 года назад

    is there a way to avoid the port remapping? For example, what if I don't want to use localhost:80 but instead keep the same port that my original service is using? If I have a service called "yellow" and by default it runs on port 3000, can I still use the nginx ingress and do a `curl localhost:3000/yellow` or something like that? Hopefully this question makes sense. I'm asking because my "app" is actually an API and will break if the port is remapped.

  • @aryadiadi6888
    @aryadiadi6888 3 года назад +1

    Great tutorial and thank you

  • @rohittiwari5575
    @rohittiwari5575 2 года назад

    Can we have an updated video on this as I am struggling to understand annotations and ingress class?

  • @pranaybollena441
    @pranaybollena441 4 года назад

    Great Video, Thanks bro. What is the command line tool you are using?

  • @kiranreddyeda7383
    @kiranreddyeda7383 4 года назад

    Hi Venkat, Thanks for the nice videos,how is the IP assignment happening in ingress and Kubernetes as well,is it automatically assign randomly or can we set static IP ,if it is dynamic, very difficult to manage right in large environment, can you please share if you have any previous video or any other reference on IP management in Kubernetes.Thanks

  • @muhammadmunir3737
    @muhammadmunir3737 4 года назад +1

    thanks for nice explanations. Is the procedure same for traefik to use it as ingress controller in microk8s to host multiple websites in backend?

    • @justmeandopensource
      @justmeandopensource  4 года назад +1

      Hi Muhammad, thanks for watching. It should be the same on any Kubernetes cluster. I have done a video on Traefik as well which you can watch in the below link.
      ruclips.net/video/A_PjjCM1eLA/видео.html
      Thanks.

  • @jayanehrukumar8651
    @jayanehrukumar8651 4 года назад +1

    nice walkthrough , i have followed your video to make nginx ingress controller to work in AWS - EKS cluster -

  • @kumaranil181
    @kumaranil181 4 года назад

    Venkat..Your videos have deepened my understanding in k8s, one question related to this video...How to setup End to End SSL from Ingress to backend ? I see videos only with TLS offloading

  • @krishnavemula280
    @krishnavemula280 3 года назад +1

    Can you please share the difference between Kong Ingress Controller and Kong API gateway ?
    If both are same..how routes and services are managed ? Is it same like kong admin api and proxy api ?

    • @justmeandopensource
      @justmeandopensource  3 года назад +1

      Hi Krishna, thanks for watching. Kong ingress controller and api gateway are certainly different. There are various other features with Kong. I am yet to explore Kong and its in my list. Will cover it at some point. Cheers.

  • @crashacerone
    @crashacerone 4 года назад +1

    Great video thanks for sharing !!!!!!!!!

  • @SOTOSKAWASAKI
    @SOTOSKAWASAKI 4 года назад +2

    Hey great content you got there. Could you make a video on how to use ingress-nginx for port routing?

    • @justmeandopensource
      @justmeandopensource  4 года назад +1

      Hi Sotiris, thanks for watching. What do you mean by port routing. Can you give an example? Cheers.

  • @stygis
    @stygis 3 года назад

    How do you enable http2 on LB->ingress->pod communication? It seems like ingress -> pod losses http2

  • @kamathwadyer7412
    @kamathwadyer7412 4 года назад

    Thanks for the knowledge sharing. Really helpful. I want to configure ingress for https with awk lb. How do it do that?

  • @PraveenKorvi
    @PraveenKorvi 5 лет назад

    Hi Venkat thanks for nginx ingress video. I have multiple dobuts with nginx ingress.I am using AKS and created 5 Load balancer services for 5 microservice. automatically azure created a load balancer named kubernetes-internal(Azure load balancer) and all the remaining load balancers IPs was configured under frontend configuration in kubernetes-internal load balancer (Azure load balancer).
    Now while changing the health probes from TCP to http for kubernetes-internal(Azure load balancer), my application is not working. I tried to create http load balancer from master node but it accepts only TCP or UDP load balancers. In this scenario do I need to create nginx-ingress which will take http traffic from azure load balancer? If yes which method I should follow?

    • @justmeandopensource
      @justmeandopensource  5 лет назад +1

      Hi, thanks for watching this video. I have no experience with Azure AKS. But see if the below documentation helps.
      docs.microsoft.com/en-us/azure/aks/ingress-tls
      In this article, the ingress-controller service is exposed as LoadBalancer and all your access to all the internal applications are through this load balancer IP.
      You don't have to expose all your 5 services as Load Balancer. As you mentioned that will create 5 load balancers. All your services needs to be only of type clusterIP. Nginx ingress controller would be the only one that needs load balancer and when you hit that load balancer, ingress controller will route the traffic to your internal services. You will have to map the ingress controller load balancer IP to preferred domain names. By doing that you can have just one load balancer service multiple domains.
      Thanks.

    • @PraveenKorvi
      @PraveenKorvi 5 лет назад

      @@justmeandopensource Thanks venkat for your response

    • @justmeandopensource
      @justmeandopensource  5 лет назад

      @@PraveenKorvi you are welcome

  • @zaheerhussain5311
    @zaheerhussain5311 3 года назад +1

    Hi
    Do you have a video for Deploy and use Nginx ingress controller on version >=1.18
    As while deploying on 1.18, the nginx controller showing following error
    "Watching for Ingress" class="nginx"
    W0112 10:59:36.631050 6 flags.go:211] Ingresses with an empty class will also be processed by this Ingress controller
    Regards
    Zaheer

    • @justmeandopensource
      @justmeandopensource  3 года назад +1

      Hi Zaheer, thanks for watching. I did release another follow up video yesterday.
      ruclips.net/video/UvwtALIb2U8/видео.html

  • @gouterelo
    @gouterelo 4 года назад +1

    Excelent as always ! Now a question... If i put on the site a tsl secret, it will be declared at the ingress, not at the ingress-controller and not in the metallb no ?

    • @justmeandopensource
      @justmeandopensource  4 года назад +2

      Yes, it will be defined in the ingress resource manifest.

    • @gouterelo
      @gouterelo 4 года назад +1

      @@justmeandopensource Thanks for always reply our questions !!! Another one... you dont have de yamls of nginx in your repository? i dont use helm :( ...

    • @justmeandopensource
      @justmeandopensource  4 года назад +1

      @@gouterelo Yamls for the nginx-ingress? I don't have them locally. Installed it using helm. You can just download the helm binary and do a dry run command to get the yamls you want.

    • @gouterelo
      @gouterelo 4 года назад +1

      @@justmeandopensource Just install helm and on plug in it transform al in a kustomize.yaml file :D Thanks for al Venkat !!!!

    • @justmeandopensource
      @justmeandopensource  4 года назад +1

      @@gouterelo you are welcome. Cheers.

  • @thanujap3480
    @thanujap3480 4 года назад +1

    Hi Siva, i have used metallb as loadbalancer and followed your video to expose the apps with host names but no luck becaz site is not reachable. with LB ip it's working fine...i made dns entry in /etc/hosts file too....i have used internal-ip for metallb is that causing the issue. any help ?

    • @justmeandopensource
      @justmeandopensource  4 года назад +1

      Hi Thanuja, thanks for watching. It should work as exactly shown in this video. So you were able to access your app using LB ip address but not through the hostname (even after adding the entry in /etc/hosts file)? What do you mean by ineternal-ip for metallb? And by the way how did you find me as Siva?

  • @kristeneaguinaldo8468
    @kristeneaguinaldo8468 3 года назад

    Hi, thanks so much for the video! I've found this really helpful. I have my load balancer deployed on a remote virtual machine. The load balancer has successfully provided an ExternalIP to the ingress controllers. when ssh'd into my virtual machine, I can curl my website just fine using the load balancer's IP. how do I go about exposing that IP to the internet so I can access my services from my local computer using the load balancer's vm's hostname?

  • @harendratyagi75
    @harendratyagi75 3 года назад

    Hi sir. can you guide me how to scale up and scale down in ingress with nginx

  • @techforvillage2981
    @techforvillage2981 5 лет назад +3

    you are my guru.(dronacharya).. can you explain jenkins x tutorial for me

    • @justmeandopensource
      @justmeandopensource  5 лет назад +3

      Thanks for watching this video and taking time to comment. Jenkins X will be a separate series I am planning on. Cheers.

  • @FORJAF02
    @FORJAF02 4 года назад +1

    What version of metalLB works with kubernetes 1.11?
    Is there a page that shows which versions are compatible with ours?

    • @justmeandopensource
      @justmeandopensource  4 года назад +1

      Hi, Thanks for watching. Check the official page at metallb.universe.tf/ under Requirements section where it was mentioned metallb is supported from Kubernetes v1.13.0 and above. Cheers.

  • @itsogkyc5987
    @itsogkyc5987 4 года назад

    Hi first of all thank you for your great lecture of k8s
    I am trying to connect the websocket service using haproxy and nginx-ingress, but an error occurs during the websocket proxy process.
    Do I need to configure additional settings for haproxy websocket communication?

    • @justmeandopensource
      @justmeandopensource  4 года назад

      Hi, thanks for watching. I believe you will have to configure things differently if you were to access websockets. I haven't tried that yet unfortunately.

  • @jayeshpatil9015
    @jayeshpatil9015 3 года назад

    Do you have any example to forward raw tcp traffic using nginx ingress?

  • @mohamedAWS-x6l
    @mohamedAWS-x6l Год назад

    I have got 504 Gateway timeout Error , what can be done to ingress class to overcome this error

  • @priyamghosh4155
    @priyamghosh4155 2 года назад

    Is it possible to use an IP as host in an ingress nginx instead of a domain name?

  • @shyamjestin3591
    @shyamjestin3591 4 года назад

    Hi can we use ingress for url redirection. eg: /foo/item should go to /service/foo/item

  • @shravanitirumala5218
    @shravanitirumala5218 4 года назад

    Hi, thanks for the clear explanation.... I am trying to implement ingress controller in my azure kubernetes cluster..... but unable to hit the load balancer endpoint.... can you make a video on AKS which would be very helpful.... thanks in advance

    • @justmeandopensource
      @justmeandopensource  4 года назад

      Hi Shravani, thanks for watching. I was covering AWS and GCP and I will see if I get some time to dive in to AKS as well. Cheers.

  • @tejasmandre666
    @tejasmandre666 2 года назад

    What if the url in the blue service goes like /blue/show-color -> will redirect to /show-color inside the blue container ?

    • @tejasmandre666
      @tejasmandre666 2 года назад

      Becuase does not seem to working in mine at least

  • @anzo.p
    @anzo.p 4 года назад +1

    Brilliant

  • @sivaguruvinayagam7779
    @sivaguruvinayagam7779 5 лет назад +3

    Super, this video is very useful for me. Thanks again 🙏, Just for information: i use this one for ip filtering in my infrastructure.
    metadata:
    annotations:
    nginx.ingress.kubernetes.io/whitelist-source-range:

    • @justmeandopensource
      @justmeandopensource  5 лет назад +1

      Hi Siva, thanks for watching this video.

    • @sivaguruvinayagam7779
      @sivaguruvinayagam7779 5 лет назад +2

      Can you please make some videos for Gitlab CI/CD, rabbitmq et redis’ i think is better to complete infra Kuberenetes.

    • @justmeandopensource
      @justmeandopensource  5 лет назад +2

      I have Gitlab, Gitops, Spinnaker, Jenkins X and lots more. Wish I had 48 hours a day. Struggling to find time. Will get there for sure. Cheers.

    • @sivaguruvinayagam7779
      @sivaguruvinayagam7779 5 лет назад +1

      i'm really sorry just a idée, i can understand well.

    • @justmeandopensource
      @justmeandopensource  5 лет назад +2

      @@sivaguruvinayagam7779 Don't be sorry. All the topics viewers are requesting are in my interest area and I can't wait to do those. By doing these I am learning as well.

  • @anirandom2775
    @anirandom2775 4 года назад +1

    When i create the ingress-resources-1.yaml, i notice that my gke will assign the ingress an external IP address. Is this normal?

    • @justmeandopensource
      @justmeandopensource  4 года назад +1

      Hi Seng, I guess that is normal on GKE which is a managed service. Hiwever my video is based on bare metal cluster where we have to take care of the haproxy load balancing ourselves. Cheers.

    • @chaitanyareddy5725
      @chaitanyareddy5725 4 года назад

      Hope this helps.
      Google Kubernetes Engine (GKE) provides a built-in and managed Ingress controller called GKE Ingress. This controller implements Ingress resources as Google Cloud load balancers for HTTP(S) workloads in GKE.

  • @BoatRocker619
    @BoatRocker619 Год назад

    Can you explain what $1, $2 does

  • @shanmugamn7916
    @shanmugamn7916 5 лет назад +2

    Nice video, Can pls make an video on RBAC access control

    • @justmeandopensource
      @justmeandopensource  5 лет назад +1

      Sure. Thats in my list.

    • @shanmugamn7916
      @shanmugamn7916 5 лет назад +1

      @@justmeandopensource i am unable to find in list , kindly share the video name pls .

    • @justmeandopensource
      @justmeandopensource  5 лет назад +1

      @@shanmugamn7916 Sorry. I meant that its in my to do list :)
      But I managed to record a video yesterday. As per schedule it will be released on 6th January. I can share it privately with you if you let me know your email address. Thanks.

    • @shanmugamn7916
      @shanmugamn7916 5 лет назад +1

      @@justmeandopensource thanks, If possible to make video on taints, tolerance & node affinity pls.

    • @shanmugamn7916
      @shanmugamn7916 5 лет назад +1

      @@justmeandopensource shanmugam.nsw@gmail.com

  • @edufree565
    @edufree565 4 года назад +1

    you said you will do ingress-nginx but went back to installing nginx-ingress right?

    • @justmeandopensource
      @justmeandopensource  4 года назад +1

      Hi, sorry I lost track of what I was saying in that video.

    • @edufree565
      @edufree565 4 года назад +1

      @@justmeandopensource no worries, still very helpful. Btw, were you able to get path based routing with an external haproxy? The ingress works with external haproxy only for host based routing, but not path based, it works with metallb though deployed within the cluster itself.

    • @justmeandopensource
      @justmeandopensource  4 года назад +1

      @@edufree565 Hmm. I haven't tried actually. In this video I used metallb. But I could give it a try. It should work.

    • @edufree565
      @edufree565 4 года назад

      Just me and Opensource pls record whenever you try. Thanks.

    • @justmeandopensource
      @justmeandopensource  4 года назад

      @@edufree565 Sure.

  • @R-Kannada-DevOps
    @R-Kannada-DevOps 2 года назад

    sir i am facing Cors origin No Allow-access_control_origin error from Angular ui to SSo keycloak, how to solve this

    • @justmeandopensource
      @justmeandopensource  2 года назад

      Hi Raghu, thanks for watching. I guess you have to configure this on the keycloak side.
      May be this discussion might help you.
      stackoverflow.com/questions/45051923/keycloak-angular-no-access-control-allow-origin-header-is-present

  • @JoshuSonawane
    @JoshuSonawane 4 года назад +1

    How do I get terminal like yours. It’s beautiful

    • @justmeandopensource
      @justmeandopensource  4 года назад +2

      Hi Joshu, thanks for watching. I basically used Zsh shell in a Gnome Terminal with oh-my-zsh and zsh-autosuggestions plugin for suggesting commands from my history.
      I have done a video on my terminal setup long time ago which isn't exactly what you see in this video but will give you an idea.
      ruclips.net/video/soAwUq2cQHQ/видео.html
      In this video, I used I3 Tiling window manager on Manjaro Linux. I have done a series of video on this as well but might need a little tweaking to get it working.
      ruclips.net/p/PL34sAs7_26wOgqJAHey16337dkqahonNX

  • @EslamHamouda
    @EslamHamouda 5 лет назад +1

    well-explained!

  • @nguyenbao6753
    @nguyenbao6753 3 года назад +1

    why when i redirect to nginx.example.com/blue or green it give 404 error ?

    • @nguyenbao6753
      @nguyenbao6753 3 года назад +1

      Nevermind i found out that i install wrong version nginx inc, should be ingress-nginx

    • @justmeandopensource
      @justmeandopensource  3 года назад +1

      @@nguyenbao6753 Cool.

  • @atulbarge5808
    @atulbarge5808 4 года назад +3

    What changes if I use haproxy load balancer instead of metal lb and how to use haproxy for this vedio

    • @justmeandopensource
      @justmeandopensource  4 года назад +2

      Hi Atul, thanks for watching. Yes you can configure haproxy instead of metallb. I have done a video on that as well. You can watch it in the below link.
      ruclips.net/video/chwofyGr80c/видео.html
      Cheers.

    • @atulbarge5808
      @atulbarge5808 4 года назад +1

      Can you please create a video on nginx ingress control with Jenkins installation but not using helm for nginx ingress it should be your first video on nginx ingress with haproxy , nginx ingress and Jenkins please do it it's.......o

    • @justmeandopensource
      @justmeandopensource  4 года назад +2

      @@atulbarge5808 No worries. I will add it to my list. But I have loads of other topics which I am preparing at the moment that will be released before I can look into this.

    • @atulbarge5808
      @atulbarge5808 4 года назад +1

      @@justmeandopensource ok will wait for that actually I am stuck when I am trying to use same for my production .

    • @justmeandopensource
      @justmeandopensource  4 года назад +1

      @@atulbarge5808 Sure.

  • @piratep1167
    @piratep1167 4 года назад

    Man your video helped me a lot. Though I am stuck, my website hosted via this nginx shows distorted. Root cause - JS and CSS files are sent out with text/html header from nginx!!!!! I googles a lot about this issue none of solutions worked!! any help!?
    I tried adding header in nginx.conf file for css and js folder.. etc.. none worked. BTW my hosting is on kubernetes

  • @RobertoBorgesBr
    @RobertoBorgesBr 4 года назад

    Nice vide! good job!

  • @nagachaitanyab3363
    @nagachaitanyab3363 3 года назад +1

    Can it be done on kubernetes which is on VMware?

  • @myvillagemyfriends7306
    @myvillagemyfriends7306 3 года назад

    Can you please explain nlb ingress controller..In eks

  • @hemantjarkad4389
    @hemantjarkad4389 3 года назад +1

    great :)

  • @sandeepbatra7753
    @sandeepbatra7753 3 года назад

    Nice explanation, I am able to follow the video. I am facing issue with ingress-resource-3 as path based routing for / is working but path based routing for /blue and /green is not working. I am getting error on default backend, please refer below.
    PS C:\Users\localadmin
    ginx-scripts\kubernetes\yamls\ingress-demo> kubectl create -f .\ingress-resource-3.yaml
    ingress.extensions/ingress-resource-3 created
    PS C:\Users\localadmin
    ginx-scripts\kubernetes\yamls\ingress-demo> kubectl describe ing ingress-resource-3
    Name: ingress-resource-3
    Namespace: default
    Address:
    Default backend: default-http-backend:80 ()
    Rules:
    Host Path Backends
    ---- ---- --------
    nginx.example.com
    / nginx-deploy-main:http (10.240.0.48:80)
    /blue nginx-deploy-blue:http (10.240.0.80:80)
    /green nginx-deploy-green:http (10.240.0.129:80)
    Annotations: kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/rewrite-target: /
    Events:
    Type Reason Age From Message
    ---- ------ ---- ---- -------
    Warning Rejected 3s nginx-ingress-controller All hosts are taken by other resources

  • @PabloVidalOtero
    @PabloVidalOtero 3 года назад

    Can you explain sticky sessions with nginx ingress? I've trying all and I can't got it

    • @justmeandopensource
      @justmeandopensource  3 года назад

      Hi, I will have to play with it first in order to comment. I will see if I can find some time for this. Cheers.

    • @PabloVidalOtero
      @PabloVidalOtero 3 года назад

      @@justmeandopensource Great! I try with nginx, traefik, gke ingress and nothing

    • @justmeandopensource
      @justmeandopensource  3 года назад

      @@PabloVidalOtero Hmm. Right.

  • @edbbyt
    @edbbyt 4 года назад +1

    Amazing video! I'm having the following error: bind() to 0.0.0.0:80 failed(13: Permission denied). Looks like nginx doesn't has permission to bind to port 80. allowPrivilegeEscalation is true and the user is the default 33 (www-data). Does anyone have any suggestions?

    • @justmeandopensource
      @justmeandopensource  4 года назад +1

      Hi edbbyt, thanks for watching this video. Looks like docker issue on the worker node.
      github.com/kubernetes/ingress-nginx/issues/3858
      What is your storage driver set to? Mine is set to Overlay2.
      ➜ ~ docker info | grep "Storage Driver"
      Storage Driver: overlay2
      If possible can you change the storage driver and give it a try?
      Thanks.

    • @edbbyt
      @edbbyt 4 года назад +1

      @@justmeandopensource Mine is overlay2 too :-(
      Server Version: 18.09.7
      Storage Driver: overlay2
      Backing Filesystem: extfs
      Supports d_type: true
      Native Overlay Diff: true

    • @edbbyt
      @edbbyt 4 года назад +1

      ​@@justmeandopensource Maybe it's something with my cluster? It's a CNI based installation. I saw in the values file that the parameter "hostNetwork", must be true in that kind of installation but even setting to true it doesn't work.
      I'm using helm 3.0.1 and kubernetes server 1.16.3

    • @justmeandopensource
      @justmeandopensource  4 года назад +1

      @@edbbyt There were couple of workarounds mentioned in the below link.
      github.com/bitnami/bitnami-docker-nginx/issues/96
      One of them was to run nginx as sudo by editing the yaml. And the other was to bind to higher ports that don't require root privilege. Basically any ports under 1024 requires root privilege for binding. May be the container image has been updated since I recorded this video.

    • @edbbyt
      @edbbyt 4 года назад +1

      @@justmeandopensource Is there any problem if I run it with root privileges?

  • @nah0221
    @nah0221 3 года назад +1

    How to make this work in production ?!

    • @justmeandopensource
      @justmeandopensource  3 года назад +2

      Hi Nur, thanks for watching.
      Its mostly the same steps. However for true HA, you will have to make sure your HAProxy load balancer is also HA ready.

    • @nah0221
      @nah0221 3 года назад

      Just me and Opensource could you explain more please ... I tried loadbalancer with external Ip address but it doesn’t work

    • @justmeandopensource
      @justmeandopensource  3 года назад +1

      Did you set up metallb? Thats how you can use load blancer with external ip on bare metals.

    • @nah0221
      @nah0221 3 года назад

      @@justmeandopensource That's exactly where I'm struggling .. how to allocate public IP address range ? for example if I have 3 ec2 machines with ip addresses not in sequence ?!

  • @MrSatan662
    @MrSatan662 4 года назад

    How we can get load balancing between this 3 services?

    • @justmeandopensource
      @justmeandopensource  4 года назад

      Hi Timotey, thanks for watching. You are already load balancing using service resource. The service will load balance the request to the backend pods.

  • @randythamrin5976
    @randythamrin5976 3 года назад

    no need to create a service? only deployment?

    • @justmeandopensource
      @justmeandopensource  3 года назад +1

      Hi Randy, thanks for watching. If you are asking about the ingress controller, it is deployed via helm and at 6:18 you can see the deployment, pods, services created for it. There is loadbalancer type service created for the ingress controller and that is the one you will be using to access all your services via an ingress route.

    • @randythamrin5976
      @randythamrin5976 3 года назад

      @@justmeandopensource thank you for the response, I mean yaml file of main, blue and green.

    • @justmeandopensource
      @justmeandopensource  3 года назад +1

      @@randythamrin5976 Starting at 10:21, you can see I ran three kubectl expose commands to create clusterip service for the three nginx deployment.

    • @randythamrin5976
      @randythamrin5976 3 года назад

      @@justmeandopensource Thank you, I do understand now before I Don't really get what expose command for.

    • @justmeandopensource
      @justmeandopensource  3 года назад

      @@randythamrin5976 No worries.

  • @prashantronaldhino
    @prashantronaldhino 3 года назад

    referring to 6:49 as it auto assigns external ip how do i give my own static ip so it wont change ever

    • @nomoretechie
      @nomoretechie 2 года назад

      I am also looking for same solution. Somehow patching is not working

    • @nomoretechie
      @nomoretechie 2 года назад

      Venkay: can you please provde inputs

  • @rahul_bali
    @rahul_bali 4 года назад +1

    paste.ubuntu.com/p/k88XZmHRZs/
    Hi Venkat,
    I am following your series of videos. they are just amazing. your calm style of teaching is beautiful.
    I am stuck in a situation where I want to understand more about the backend service that is operating behind the ingress. Also, I did try to implement, but got the issue in my ingress. Why is it trying to find a default-http-backend?
    Please shed light on this ..

    • @justmeandopensource
      @justmeandopensource  4 года назад +1

      Hi Rahul, thanks for watching. I can give this a try but need to know how your set up is different to the one explained in this video? Did you follow the same steps as shown in this video?
      If so I can try it in my environment to see if its an issue or not. And I think your application and nginx ingress controllers are deployed in different namespaces. Can you just try deploying your apps in the same namespace as the ingress controller? I am not sure it thats the problem but give it a try.

  • @rahul_bali
    @rahul_bali 4 года назад +1

    Anyone thinking about the nginx-ingress DEPRECATED thing.
    helm repo add ingress-nginx kubernetes.github.io/ingress-nginx
    helm repo add stable kubernetes-charts.storage.googleapis.com/
    helm repo update
    To install:
    helm install [RELEASE_NAME] ingress-nginx/ingress-nginx
    Source:
    artifacthub.io/packages/helm/ingress-nginx/ingress-nginx

  • @phalla6646
    @phalla6646 4 года назад +1

    I do love your clear explanation, but I got questions to ask.
    1- I am trying to terminate ssl for ingress but it never exposes port 443
    2- I am working on private cluster (1 master 2 nodes) on prime. I want to map a domain for my api but I am not sure which server ip should I map with domain name

    • @justmeandopensource
      @justmeandopensource  4 года назад +2

      Hi Phalla, thanks for watching.
      Once you deploy ingress controller (as a daemonset), you will have an ingress controller pod on each of your kubernetes node and that pod is bound to the host port 80 and 443. Basically you will have a separate load balancer that sends the traffic to all your worker nodes. You then create ingress resource with a domain name for example myservice.example.com. You will have to add an entry to your DNS for this domain name which will point to the load balancer.

    • @phalla6646
      @phalla6646 4 года назад +1

      @@justmeandopensource crystal clear, thank

    • @justmeandopensource
      @justmeandopensource  4 года назад +1

      @@phalla6646 No worries. You are welcome.