How to use NGINX Ingress with Kubernetes in 2023

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 มิ.ย. 2024
  • Subscribe to show your support! goo.gl/1Ty1Q2 .
    Patreon 👉🏽 / marceldempers
    Checkout the source code below 👇🏽 and follow along 🤓
    Also if you want to support the channel further, become a member 😎
    marceldempers.dev/join
    Checkout "That DevOps Community" too
    marceldempers.dev/community
    Source Code 🧐
    --------------------------------------------------------------
    github.com/marcel-dempers/doc...
    If you are new to Kubernetes, check out my getting started playlist on Kubernetes below :)
    Kubernetes Guide for Beginners:
    ---------------------------------------------------
    • Kubernetes development...
    Kubernetes Monitoring Guide:
    -----------------------------------------------
    • Kubernetes Monitoring ...
    Kubernetes Secret Management Guide:
    --------------------------------------------------------------
    • Kubernetes Secret Mana...
    Datree
    • Roadmap to Kubernetes ...
    Like and Subscribe for more :)
    Follow me on socials!
    marceldempers.dev
    Twitter | / marceldempers
    GitHub | github.com/marcel-dempers
    Facebook | thatdevopsguy
    LinkedIn | / marceldempers
    Instagram | / thatdevopsguy
    Music:
    Track: Reckoner - lofi hip hop chill beats for study~game~sleep | is licensed under a Creative Commons Attribution licence (creativecommons.org/licenses/...)
    Listen: / reckoner-lofi-hip-hop-...
    Track: Fox Beat 2 - Kronicle - Chill Noons - Royalty Free Vlog Music [BUY=FREE] | is licensed under a Creative Commons Attribution licence (creativecommons.org/licenses/...)
    Listen: / kronicle-chill-noons-r...
    Track: Fox Beat 2 - Jeff Kalee - Pillow Talk - Royalty Free Vlog Music [BUY=FREE] | is licensed under a Creative Commons Attribution licence (creativecommons.org/licenses/...)
    Listen: / jeff-kalee-pillow-talk...
    Track: souKo - souKo - Parallel | is licensed under a Creative Commons Attribution licence (creativecommons.org/licenses/...)
    Listen: / parallel
    Timestamps
    00:00 Introduction
    01:12 Source Code
    01:59 Create a Kubernetes cluster
    02:51 Install some tools
    05:27 Datree Sponsor
    07:02 Install NGINX Ingress
    10:33 Ingress service and port forward
    12:55 Deploy some microservices for testing
    16:08 Basic routing by domain
    20:09 Basic routing by path
    24:24 URL rewriting
    28:31 SSL and Passthrough
    29:42 IP Whitelisting
    30:37 Authentication
    33:07 Customization using Configmaps
    38:01 Outtro
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 95

  • @mwafulirwa1
    @mwafulirwa1 ปีที่แล้ว +5

    after 5 days of not getting Nginx Ingress to work this Video has sorted me out, thank you!...

  • @devinshingadia9573
    @devinshingadia9573 ปีที่แล้ว +1

    This channel is amazing. Thank you so much for taking the time to create these videos!

  • @sephwht
    @sephwht 4 หลายเดือนก่อน

    It is always great to watch videos from really knowledgeable people - thank you!

  • @fujiwarakeiichi5882
    @fujiwarakeiichi5882 ปีที่แล้ว +14

    I just discover your channel and it's an absolute gem. Thank you for sharing you knowledge, good sir.

  • @awaitingforsunrise
    @awaitingforsunrise ปีที่แล้ว +1

    Very high quality of information, nice speech and quite understandable. Thank you!

  • @abanhidy
    @abanhidy 8 หลายเดือนก่อน +4

    I've never ever seen before such a good followable introduction of any kind of Kubernetes topics! Really, really professional videos, what you are doing! Thanks a lot for that!

  • @srini1172
    @srini1172 ปีที่แล้ว +1

    Thanks for your detailed explanation. I have managed to setup my ingress by looking at this video.

  • @wayneyu3031
    @wayneyu3031 ปีที่แล้ว +2

    I love this… incredibly useful for me. thanks man. keep going ❤

  • @FabianoChagas
    @FabianoChagas ปีที่แล้ว

    Awesome as always!
    Thanks a bunch for sharing, mate!

  • @user-tm6cd8sg5l
    @user-tm6cd8sg5l ปีที่แล้ว

    This is a great guide, thank you very much for it! It really helps!

  • @NNox_
    @NNox_ ปีที่แล้ว +13

    You and your contents are awesome. Quick guides, quick starts, hands on and labs, all explained easily and and easy to follow. Since I'm following and learning since a long time. I wanted to take this time to say Thanks again.

  • @helloworlditsworld
    @helloworlditsworld 9 หลายเดือนก่อน

    This is amazing, just what I needed!

  • @madrag
    @madrag ปีที่แล้ว +1

    Pure gold - thanks :)

  • @thelmansanchez5733
    @thelmansanchez5733 6 หลายเดือนก่อน

    Excellent video, just what I needed.

  • @aceisastud
    @aceisastud ปีที่แล้ว

    Fantastic as always Marcel! Love it man you win TH-camr of the year all.the.time! Thank you!

  • @lightafterdark4453
    @lightafterdark4453 ปีที่แล้ว +2

    Always, Excellent

  • @jesse-leonard
    @jesse-leonard ปีที่แล้ว

    Thank you this helped a lot!

  • @i2rfrontmaker101
    @i2rfrontmaker101 ปีที่แล้ว +2

    Suoer useful video! It's thousands times better than most of useless online cources! The author's explanation with the video-examples - very clear and awesome! Thank you @That DevOps Guy

  • @doloreslaflipoflopo2746
    @doloreslaflipoflopo2746 5 หลายเดือนก่อน

    the man, the myth the legend. Thanks for the tutorial mate.

  • @keeganbruer1985
    @keeganbruer1985 ปีที่แล้ว +3

    Great video! Absolutely love the quality of your content. Would you make a video on microservice authentication with keycloak or an alternative? I am unable to find a quality explanation.

  • @mohammadtalep9913
    @mohammadtalep9913 11 หลายเดือนก่อน

    Awesome effort. Thanks a lot

  • @hiepphammm
    @hiepphammm 6 วันที่ผ่านมา

    Great video!!!

  • @myeniad
    @myeniad 8 หลายเดือนก่อน

    Great explanation, thanks!

  • @lukesemail6980
    @lukesemail6980 11 หลายเดือนก่อน

    I was making my keyboard into a permanent addition to my forehead before seeing the part about editing my hosts file...
    I went from finding ways to abandon K8's altogether to getting excited for tonight's work session. Thank you!

  • @puranamy
    @puranamy ปีที่แล้ว

    Excellent explanation sir.. Grt fan of u

  • @Irfan-vl6ij
    @Irfan-vl6ij 3 หลายเดือนก่อน

    well explained 👍

  • @WM-fz5si
    @WM-fz5si 11 หลายเดือนก่อน

    Very helpful video🙌..Also can you make video on how to use multiple ingress controller on multiple namespace for multiple application.

  • @mikesiwer
    @mikesiwer 12 วันที่ผ่านมา

    You are so good . Nice video

  • @LazarTas
    @LazarTas 11 หลายเดือนก่อน

    Hey, would be nice to post a video on some advanced NGINX setup like for example how to expose custom TCP UDP ports.

  • @sachinchaturvedi3983
    @sachinchaturvedi3983 ปีที่แล้ว +3

    Have seen many other videos on same topic, but your content and way of explaining is at par over others....learned lot of things from your channel....keep up the great work...also if you could please create a video on deploying security policies in k8s cluster, eg. Security Context and how to get them working...

  • @trevor369
    @trevor369 8 หลายเดือนก่อน

    Subscribed 😊

  • @SpaghettiRealm
    @SpaghettiRealm 4 หลายเดือนก่อน

    Thanks Marcel for the great video, can you please maybe do a tutorial on how to expose fastcgi application, that would be great!

  • @georgmohan
    @georgmohan ปีที่แล้ว

    Hi
    The explanation on the videos are amazing...Are you planning to do any videos on cilium..

  • @amenabe9842
    @amenabe9842 ปีที่แล้ว

    I love you bro this is awesome

  • @Yaswanth_Rayana
    @Yaswanth_Rayana ปีที่แล้ว

    You are the Best✌

  • @openyard
    @openyard ปีที่แล้ว +1

    Good content and good understanding of Kubernetes. The videos are slower now and much fewer camera angles which is good.
    The removal of the natural pauses by your editing team makes it still difficult to absorb the material as it seems it is one long sentence.

  • @musclecode
    @musclecode ปีที่แล้ว +1

    thanks for the videos once again ! just a small FYI, I think the last few videos have a bit overamplified sound, sound is just a tad distorted :D

    • @MarcelDempers
      @MarcelDempers  ปีที่แล้ว +1

      I've noticed similar during post-production and have to drop audio dB on clips significantly.
      Not sure what the cause is, but it may be time for a new Mic

  • @massimilianoadamo3426
    @massimilianoadamo3426 20 วันที่ผ่านมา

    Hi Marcel, many thanks for your tutorial !! I have some problem with rke2, 1 master , 2 agent installed without cloud .... nginx don't redirect the traffic

  • @chewbucca
    @chewbucca ปีที่แล้ว +1

    Great vid! Do you use docker desktop or install docker to your wsl2?

  • @naveenkumarandukuri3490
    @naveenkumarandukuri3490 ปีที่แล้ว +1

    OMG. what an explanation man. You r just awesome. Finally I'm on the right place to explore K8S

  • @thecloudterminal
    @thecloudterminal ปีที่แล้ว

    Thank you for the lovely content , like always!

  • @Nikzww187
    @Nikzww187 ปีที่แล้ว

    You need to drop us a playlist.. you know which music I’m talking about too 👹

  • @RobertoFabrizi
    @RobertoFabrizi ปีที่แล้ว +1

    Amazing video, but the first capturing group is either the / or the $ as specified in the first capturing group in the path value, not the domain name, or am I wrong?

  • @IvanGeorgiev
    @IvanGeorgiev 9 หลายเดือนก่อน

    Hi. Can you point me to the web cam that you are using in your videos?

  • @user-ee6hz2zl9s
    @user-ee6hz2zl9s 3 หลายเดือนก่อน

    What in case if I want to route my traffic to services residing in different namespaces ?

  • @tadeubernacchi3360
    @tadeubernacchi3360 ปีที่แล้ว

    Hi, nice video as always...I'm studying for the PCA exam and I'm following your videos about Prometheus (Pretty good stuff) and I've setup a small RKE2 cluster in top of DigitalOcean and right now I'm stuck to get that EXTERNAL-IP address, I'm trying to follow this video here, but not only this one...but basically every tutorial out there it only show how to do it using local clusters...kind, k3d and etc. What about not using port-forwarding...and not using the K8S of the cloud for this? What are the options? Could you do a video for this? You're channel it's awesome! Cheers

    • @user-rq2qp6yt9q
      @user-rq2qp6yt9q ปีที่แล้ว +1

      I'm also looking for that only. Pls share if you got the answer.

  • @armadillo7171
    @armadillo7171 ปีที่แล้ว

    Do you think that having a minikube cluster instead of a kind one would change things a lot? I have had a hard time using nginx controller to expose minikube ClusterIP services. In minikube there is an "ingress enable" feature that auto installs the controller, but I also did the manual installation through yaml. Maybe I have to work on the port-forward commands that in the end do a lot of the packet routing needed. Thanks for the video.

    • @ad_it
      @ad_it ปีที่แล้ว

      I'm using Big Sur and I've ended up switching to kind instead of minikube. All is pretty easy with kind. But there are issues with port-forwarding in minikube for such purposes.

  • @zenobikraweznick
    @zenobikraweznick ปีที่แล้ว +1

    Great tutorial, thanks!. Quick question, wouldn't it be better if we let helm manage and keep track of the nginx app/charts versions so that we can easily upgrade/rollback the app ?
    I mean, why not using "helm upgrade", "helm rollback" ... etc. ?

    • @MarcelDempers
      @MarcelDempers  ปีที่แล้ว

      You can totally do that
      Helm is just a package manager.
      Depending how you manage your infrastructure (GitOps/Argo/Flux/Terraform) that part is totally up to you.

  • @abdulbasithk906
    @abdulbasithk906 ปีที่แล้ว

    Is there a way to change the ingress controller timestamp to IST?

  • @oleggorenkov
    @oleggorenkov หลายเดือนก่อน

    I see that the stated work of Ingress is actually done by port forwarding.

  • @colossuselka-zc7hb
    @colossuselka-zc7hb 3 หลายเดือนก่อน

    i like your style,
    when i open a tut on your channel i get a sense that you like rnb?
    why i think that lol

  • @techbeauty205
    @techbeauty205 11 หลายเดือนก่อน

    so can anyone help my situation
    I've got an 'ens160' interface which the kube host machines ipv4 are set and reachable from outside network.
    and a kube-ipvs0 interface that is created by kubernetes and internal ip addresses gets assigned to nodes.
    so I've delpoyed nginx ingress controller
    and when i deploy an ingress instead of assigning ip from ens160 interface for the ingress so it'll be reachable from ouside and routed from internet. kube would assign ip from kube-ipvs0 range and i cannot access from anywhere but within the node shell. :(

  • @maheshsohan6331
    @maheshsohan6331 10 หลายเดือนก่อน

    I need help, I have two python services running in pods and I want nginx to act as load balancer to route traffic, I see the state of nginx pod is in pending state.. the data that is coming to my nginx pod is through socket tcp ... Do I need ingress here ??

  • @user-qk4tx9jc4m
    @user-qk4tx9jc4m 3 หลายเดือนก่อน

    sick mate. just sick... XD

  • @rdx321321
    @rdx321321 8 หลายเดือนก่อน

    How can we create a diff ngnx ingress to support https protocol

  • @nikola8433
    @nikola8433 2 หลายเดือนก่อน

    does anyone know how to Pass client IP from my local computer to remote Minikube using Ingress ?

  • @RashidKhan-ss7em
    @RashidKhan-ss7em 7 วันที่ผ่านมา

    You have paste your domain but this is not working with me on domain to access on external world

  • @anirudhsatish9469
    @anirudhsatish9469 6 หลายเดือนก่อน

    I am trying to allow users to dynamically add domains to my cluster. Do you know of a way to support this ?

  • @ahmedalim.soliman5812
    @ahmedalim.soliman5812 4 วันที่ผ่านมา

    I tried multiple time, never got it to work! despite great video

  • @user-ew6mz8kz8v
    @user-ew6mz8kz8v 7 หลายเดือนก่อน

    Круто, очень круто! Огромное спасибо из России!

  • @nikhilagrawal9204
    @nikhilagrawal9204 2 หลายเดือนก่อน

    Is their any way (probably some annotation) we can pass the capture group 1 i.e. $1 to the upstream

    • @IJMacD
      @IJMacD หลายเดือนก่อน

      Capture group 1 in his example was just a slash or the end of the string "(/|$)"

  • @williammunoz2712
    @williammunoz2712 10 หลายเดือนก่อน

    I set your content apart. There is no equal. Thank you.

  • @LEGnewTube
    @LEGnewTube 5 หลายเดือนก่อน

    What's the reason for using two separate YAML files in routing-by-path-rewrite.yaml? I think you should just able able to add both paths too the one:
    ...
    - path: /path-a(/|$)(.*)
    ....
    - path: /path-b(/|$)(.*)
    ....
    ....

  • @vivekmahajan6888
    @vivekmahajan6888 9 หลายเดือนก่อน

    Hidden Gem

  • @ahmetaksoy553
    @ahmetaksoy553 หลายเดือนก่อน

    I can do it like in the video. But let's say I'm deploying Prometheus and Grafana. So, create a Pod for these. I am using a Cluster IP type server. Afterwards, I configure these with ingress.yaml. Normally, when I type the PublicIp/prometheus path in the browser, it should appear. But it's not working. Is there an example video of this? I don't understand where I'm making a mistake.

  • @nikhilagrawal9204
    @nikhilagrawal9204 6 หลายเดือนก่อน

    will this scenario works? let me know @anyone
    I am installing nginx-ingress controller on namespace "nginx-ingress" and my deployments and svc is running on "default" namespace.

    • @nikhilagrawal9204
      @nikhilagrawal9204 6 หลายเดือนก่อน

      ok, in the example shown in video, This is the case and it's working.

  • @chakriatwork3062
    @chakriatwork3062 7 หลายเดือนก่อน

    Hi bro, I have created AKS cluster without any loadbalancer when I have installed Ingress-nginx-controller my external IP is in pending state.If i provision app gateway L7 balancer whether Ingress-nginx-controller get external-Ip.please help me to resolve this issue.

    • @MarcelDempers
      @MarcelDempers  7 หลายเดือนก่อน

      You can `kubectl describe` the service and check for any events. If you are able to get control plane logs, the cloud controller manager logs will reveal the reason. There could be few possible reasons with the common one being the service principal or managed Identity may not have enough permissions to interact with the azure LB. That's usually the main culprit, but it's a guess, best to check the cloud controller logs

    • @chakriatwork3062
      @chakriatwork3062 7 หลายเดือนก่อน

      In the events it showing " ensuring load balancer age 3m48s(*237over 19h) "

    • @chakriatwork3062
      @chakriatwork3062 7 หลายเดือนก่อน

      I have connected with Microsoft support team,they are saying standard load balancer is not provisioned along Aks cluster but we need app gateway instead of standard load balancer.I am bit confused can you give some overview how to provision aks cluster with app gateway.Please help I am stuck with from couple of weeks

    • @chakriatwork3062
      @chakriatwork3062 7 หลายเดือนก่อน

      Whether I need to have service as loadbalancer?

    • @MarcelDempers
      @MarcelDempers  7 หลายเดือนก่อน

      Best would be to provision your cluster with a standard load balancer. All services type LoadBalancer will use this and you will get public IP working for the ingress controller service.
      The provider used to create it automatically, but looks like AKS now needs to be provisioned with it
      `az aks create` with the `--load-balancer-sku standard` flag

  • @walkoliganesh
    @walkoliganesh 7 หลายเดือนก่อน

    Unable to listen on port 443: Listeners failed to create with the following errors: [unable to create listener: Error listen tcp4 127.0.0.1:443: bind: permission denied unable to create listener: Error listen tcp6 [::1]:443: bind: permission denied]
    error: unable to listen on any of the requested ports: [{443 443}]
    Hey I'm getting this error while port forwarding?
    How to resolve this?

    • @PnPModular
      @PnPModular 6 หลายเดือนก่อน

      try binding to 0.0.0.0: kubectl -n ingress-nginx port-forward --address 0.0.0.0 svc/ingress-nginx-controller 443

  • @RashidKhan-ss7em
    @RashidKhan-ss7em 7 วันที่ผ่านมา

    You are not explaining application how to access application access for external world.not about external ip if ingress nginx

  • @puranamy
    @puranamy ปีที่แล้ว

    Plz create video for building custom docker image using alpine bass image..Apache, php, MySQL

    • @puranamy
      @puranamy ปีที่แล้ว

      Plz share docker file link here.. I have emergency requirement...

    • @zedvee2668
      @zedvee2668 10 หลายเดือนก่อน

      That is a bad idea, why would you create a database and web server in the same image?

  • @ReneHoffmann194
    @ReneHoffmann194 ปีที่แล้ว +1

    Why is the audio sooooo bad?!

  • @gosnooky
    @gosnooky ปีที่แล้ว

    Sloooowly demystifying Kubernetes one video at a time...