NGINX Ingress Controller for Kubernetes Tutorial: YAML & Helm | Example | Prometheus | Grafana | EKS

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 ต.ค. 2024

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

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

    🔴 - To support my channel, I’d like to offer Mentorship/On-the-Job Support/Consulting - me@antonputra.com
    👉 [UPDATED] AWS EKS Kubernetes Tutorial [NEW]: th-cam.com/play/PLiMWaCMwGJXnKY6XmeifEpjIfkWRo9v2l.html&si=wc6LIC5V2tD-Tzwl

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

    Excellent Job Anton, I've learned a lot watching your video and reading/using your code !

    • @AntonPutra
      @AntonPutra  3 ปีที่แล้ว

      Thanks Abderrazak!

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

    👉 How to Manage Secrets in Terraform - th-cam.com/video/3N0tGKwvBdA/w-d-xo.html
    👉 Terraform Tips & Tricks - th-cam.com/video/7S94oUTy2z4/w-d-xo.html
    👉 ArgoCD Tutorial - th-cam.com/video/zGndgdGa1Tc/w-d-xo.html

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

    Excellent, thanks a lot for this fantastic update Anton

    • @AntonPutra
      @AntonPutra  3 ปีที่แล้ว

      Thanks serge, I hope 50 min is not too long for tutorials :)

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

    Awesome.. can u make video using gke and for nginx ingress controller not using helm? thanks

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

      Yes, in the future. I have another tutorial gke + ingress if you are interested th-cam.com/video/X_IK0GBbBTw/w-d-xo.html

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

    ... external DNS with GCP ..., like it

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

    🔴PART 2🔴 Cert Manager Kubernetes Tutorial (Let's Encrypt & Nginx Ingress & ACME | 5 Examples | YAML & HELM) - th-cam.com/video/7m4_kZOObzw/w-d-xo.html
    🔴UPDATED🔴: How to Create EKS Cluster Using Terraform - th-cam.com/video/MZyrxzb7yAU/w-d-xo.html

    • @AntonPutra
      @AntonPutra  3 ปีที่แล้ว

      Will be released on September 6, 2021.

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

    Thanks Anton, Could show how use ModSecurity Web Application Firewall
    in nginx ingress
    Thank you

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

      Thanks for the suggestion, I'll put it in my list.

  • @HoneyHaiderMengha
    @HoneyHaiderMengha 11 หลายเดือนก่อน +1

    you are love @antonPutra

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

      Thanks Mengha!

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

    Brilliant content! Thank you for taking the time to make this video :-) I learned a lot.

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

    Amazing tutorial, can I do url rewrite 3rd example with ALB Ingress Controller? any example or link, thanks

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

      it seems not supported at this time => github.com/kubernetes-sigs/aws-alb-ingress-controller/issues/835

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

      @@AntonPutra thanks a lot

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

    Sir is it possible to make a vedio like a basic nginx app and ingress deployment along with load balancer

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

      I think I have plenty of them on my channel =)

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

    Great tutorial! Can we have video on managing multiple ingress controller in the same cluster and how to define which ingress controller a ingress resource will use to route traffic? - confused with Ingress Class

    • @AntonPutra
      @AntonPutra  2 ปีที่แล้ว

      simply spread them between different namespaces and make sure they have different ingress class names. If you use helm, just update default ingress class to something

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

    Hi...I've tried the ingress rule as path based routing rather than hostname based, while checking in the grafana, I've seen only the ingress of hostname based routing, I couldn't see the path based ingress file metrics...Can you give the idea about this...? I need to see path based routing metrics also...

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

    AWESOME !
    I subscribed and hit the bell icon :D

    • @AntonPutra
      @AntonPutra  3 ปีที่แล้ว

      Awesome thank you Rakesh!

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

    Hi Anton. Nice tutorials.
    But I got prometheus-operator pod always pending. I run in in virtual machine using Ubuntu 20 in Hyper-v windows 11.

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

      you can describe it to get the error message
      "kubectl describe pod prometheus-operator..."

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

      @@AntonPutra It replied with the pod name is not found. Something like that. I have copied paste the name from kubectl get pods -A

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

      @@sulaimantriarjo8097 "-A" will give all pods in all namespace, but if you need to describe an object such as pod, do not use "-A" instead use "-n "

  • @dpicollege
    @dpicollege 2 ปีที่แล้ว

    Great video but i confused does values.yml consist of both nginx class and kubernetes controller class together? could you explain? should i know all object of nginx and kubernetes class?

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

      Yes it does, it's done for legacy compatibility. For example cert-manager aims to support as many ingresses as posible to do that they decided to use old "annotations" instead of ingress classes. Nginx ingress class supports both class name and old annotation "nginx class"

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

    What is the advantage of using SSL certificates in the Ingress instead of putting a reverse proxy in front of Ingress to handle the certificates?

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

      nginx ingress is a reverse proxy (it's literally nginx), don't add unnecessary complexity

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

      @@AntonPutra Ok. In my case to avoid complexity I will keep my Nginx reverse proxy dealing with that.

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

      @@ebiscaia Sure just don't forget to configure body size, source headers on both proxies. As far as I remember body size on ingress around 1mb

  • @joeb.1163
    @joeb.1163 3 ปีที่แล้ว +1

    Another brilliant video. Thank you very much

    • @AntonPutra
      @AntonPutra  3 ปีที่แล้ว

      Thank you Joe :)

  • @mozhago8280
    @mozhago8280 3 ปีที่แล้ว

    I'm getting this error "Error syncing load balancer: failed to ensure load balancer: LoadBalancerIP cannot be specified for AWS ELB" when setting LoadbalancerIP for controller service, Any idea

    • @AntonPutra
      @AntonPutra  3 ปีที่แล้ว

      You getting this error when trying to use static/elastic IP for load balancer? What EKS version are you using?

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

    Thank you for the great content. I have question, I want to use Amazon Certificate Management (ACM) certificate for TLS/SSL in Nginx Ingress, How can I use it?

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

      You can manually create "tls" type kubernetes secret and point to it in your ingress object. In this case you need to monitor yourself certificate expiration.

  • @qwerfdsdsdfghd
    @qwerfdsdsdfghd 2 ปีที่แล้ว

    coudl you make example of NGINX Ingress Controller for Kubernetes Tutorial: YAML & Helm with using terraform ?

    • @AntonPutra
      @AntonPutra  2 ปีที่แล้ว

      Do you mean to use Kubernetes Provider to deploy nginx ingress? Link - registry.terraform.io/providers/hashicorp/kubernetes/latest/docs

  • @Rkagr208
    @Rkagr208 2 ปีที่แล้ว

    I am in a weird situation, I follow your examples to create the EKS cluster using terraform but for the ingress controller we need to do the irsa thing, right? i.e. setting the service account with the IAM roles and the identity provider in AWS part. I am not able to fix that and it is not present in your tutorials.
    When I create the ingress controller and the ingress, everything is fine just the ingress controller is not able to create the alb for that ingress. Could you please help me here?

    • @AntonPutra
      @AntonPutra  2 ปีที่แล้ว

      I have a new tutorial with explanation how to set up irsa. antonputra.com/Terraform/how-to-create-eks-cluster-using-terraform/#create-iam-oidc-provider-eks-using-terraform

  • @SachinSharma-kk1up
    @SachinSharma-kk1up 3 ปีที่แล้ว

    Thx for wonderful session. Can we configure nginx ingress using selected ip from subnet as we do in aks as internal LB ip . I tried in eks it created but with random ip from subnet schema as internal but I want specific ip .

    • @AntonPutra
      @AntonPutra  3 ปีที่แล้ว

      You can allocate an Elastic IP address and use it for your load balancer.
      aws.amazon.com/premiumsupport/knowledge-center/elb-attach-elastic-ip-to-public-nlb/

  • @mahesh-nn4no
    @mahesh-nn4no 2 ปีที่แล้ว

    Hey Aton, you explaination is too good. But i have a doubt. what annotation should we use if install ngnix ingress controller on kubernetes cluster which is on our own Bare metal servers.

    • @AntonPutra
      @AntonPutra  2 ปีที่แล้ว

      it depends on the version of controller and k8s cluster. Most likely you would also need to use ingress class. Annotations mostly used by custom controllers that you deployed to k8s, I would recommend to search what annotations your controller support

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

    I followed the same steps but on Nginx Ingress TCP Example part I can't connect to postgres. The only different thing I did is used external Ip of Loadbalancer instead of creating CNAME, but does it make any difference ?

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

      No it should nod. In general you need to use IP that created by the service of type loadbalancer during the installation of ingress

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

      I found the problem :) that was about my firewall and it is working now @@AntonPutra

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

    Thanks Anton, excellent explanation as usual

    • @AntonPutra
      @AntonPutra  3 ปีที่แล้ว

      Thanks Ruwan, I hope it's not too long :)

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

    ⏱️TIMESTAMPS⏱️
    0:00 Intro
    2:31 Deploy Prometheus on Kubernetes Cluster
    6:02 Deploy Nginx Ingress Controller (YAML & HELM)
    12:20 Monitor Nginx Ingress with Prometheus
    13:47 Deploy Grafana on Kubernetes Cluster
    15:36 Import Nginx Ingress Controller Grafana Dashboard
    17:32 Create Ingress for Prometheus (Ex. 1)
    20:03 Test Nginx Ingress Admission Webhook
    22:02 Create Ingress for Grafana (Ex. 2)
    23:38 Simple Fanout Ingress Example (Ex. 3)
    28:44 Virtual Hosting Ingress Example (Ex. 4)
    30:10 Nginx Ingress TLS Example (Ex. 5)
    38:01 Nginx Ingress Different Namespaces Example (Ex. 6)
    41:13 Nginx Ingress TCP Example (Ex. 7)
    46:09 Monitor Nginx Ingress with Grafana

    • @LalitYadav-eo4hv
      @LalitYadav-eo4hv 3 ปีที่แล้ว

      As always another great video, very helpful. I will try this today.

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

    easy to follow , awesome video

    • @AntonPutra
      @AntonPutra  3 ปีที่แล้ว

      Great to hear! :)

  • @MohammadFazil
    @MohammadFazil 2 ปีที่แล้ว

    Can we've the same for using Azure kubernetes services

    • @AntonPutra
      @AntonPutra  2 ปีที่แล้ว

      Sure, in the future, I'm planning to create a few lessons for Azure cloud.

  • @premierde
    @premierde 2 ปีที่แล้ว

    👏Can we add metallb as LB in ingress values file

    • @AntonPutra
      @AntonPutra  2 ปีที่แล้ว

      I haven't used MetalLB

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

    Thanks!

  • @Яслежузатобой-щ7б
    @Яслежузатобой-щ7б 3 ปีที่แล้ว

    Тебе как вообще умудрилось в айти залететь?

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

      4 years of college :) I got Computer Science degree from University of Pittsburgh then moved to Silicon Valley (sorry I don't have Russian keyboard)

  • @LalitYadav-eo4hv
    @LalitYadav-eo4hv 3 ปีที่แล้ว

    Helm version: v3.6.3

    • @AntonPutra
      @AntonPutra  3 ปีที่แล้ว

      you need to install prometheus before ingress, since it uses CRD - ServiceMonitor.

    • @LalitYadav-eo4hv
      @LalitYadav-eo4hv 3 ปีที่แล้ว

      @@AntonPutra i believe I followed the same steps, let me try again today. Thank u for ur reply really appreciated

  • @philippsagalovich8170
    @philippsagalovich8170 2 ปีที่แล้ว

    hello, is possible that one ingress controller manage some ingresses in different namespaces????

    • @AntonPutra
      @AntonPutra  2 ปีที่แล้ว

      Yes, ingress is a global resource. One ingress controller can be used to create ingresses in any namespace

    • @philippsagalovich8170
      @philippsagalovich8170 2 ปีที่แล้ว

      @@AntonPutra is there other way? id possible point inside the ingress serviceName in next format - ..svc.cluster.local -????

    • @AntonPutra
      @AntonPutra  2 ปีที่แล้ว

      @@philippsagalovich8170 you mean one ingresses and different namespaces? you can create external name as I did in the video. Generally not recomended

    • @fil1806
      @fil1806 2 ปีที่แล้ว

      @@AntonPutra what u recommend? How to share lb to some namespaces. We have a lot of namespaces and now in default namespace about 100 external services….

    • @AntonPutra
      @AntonPutra  2 ปีที่แล้ว

      @@fil1806 oh, it's pretty standard, you need a single LB for ingress, then you can create ingresses in all your namespaces. They will share the single load balancer.

  • @kkkant1547
    @kkkant1547 3 ปีที่แล้ว

    Hello
    I'm using the terraform for the infrastructure provisioning but I cant able to find how can I setup using terraform is there is any way to setup this using terraform as you are using the eksctl tool soo I need to work with eksctl tool with terraform ?

    • @AntonPutra
      @AntonPutra  3 ปีที่แล้ว

      Take a look at this tutorial - th-cam.com/video/oYHZ3EPR094/w-d-xo.html