Kubernetes Node Autoscaling with Karpenter (AWS EKS & Terraform)

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

КОМЕНТАРІ • 46

  • @AntonPutra
    @AntonPutra  Рік тому +3

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

  • @100yasser100
    @100yasser100 11 місяців тому +1

    Efficient, fast enough, practical and super clear
    Really amazing video, well thought and direct to the point
    I thank you very much

  • @armanfeyzi6311
    @armanfeyzi6311 7 місяців тому +3

    Thank you for this outstanding video (your tutorials are truly exceptional). I have a small request: could you please provide an update to this one? The Helm chart featured in the video for deploying Karpenter hasn't been updated in about 2 years.
    I like this method of deploying EKS clusters with Karpenter.

    • @AntonPutra
      @AntonPutra  7 місяців тому +2

      take a look at this one, i have a section for karpenter

  • @pratapkorlepara3688
    @pratapkorlepara3688 Рік тому +2

    Excellent tutorial. Very Quick and informative. Thanks for making this

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

    Nice video.
    Another cool approach is to not use any (self or eks managed) node groups. After creating eks cluster, you deploy coredns and karpenter on fargate, that should be enough to bootstrap EC2 worker nodes.

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

    Great tutorial Anton, thanks! I would suggest to call subnets like private-az1, public-az1, etc. I used a different region and got a little bit confused with the subnet names. Nonetheless, great work, thanks again.

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

      Thanks! Sure, most of the time in the real world, you include AZ as a suffix.

  • @Content-With-Sai
    @Content-With-Sai 10 місяців тому

    Hi Anton, First of all this is great tutorial and it boosted my clarity on Karpenter. I have two queries.
    1. Where are all these pods actually running. In local? or in AWS?
    2. What puts our k8 deployment from yaml and kubectl to AWS?
    Thank you.

    • @AntonPutra
      @AntonPutra  10 місяців тому +1

      Thanks!
      1. All pods are running in AWS (EKS) including the Karpenter controler pod
      2. When you run kubectl apply -f .yaml, kubectl uploads that yaml config to remote kubernetes running in AWS. Based on that yaml config, Kubernetes downloads pods and specifies how to run them on EC2 instances.

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

    Many thanks for the tutorial you are a life saver.

  • @chapaya100
    @chapaya100 3 місяці тому +1

    Super 🎉

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

    Get Full-Length High-Quality DevOps Tutorials for Free - Subscribe Now! - ua-cam.com/users/AntonPutra

  • @itsnotaytchannel
    @itsnotaytchannel 16 днів тому +1

    Why we are creating node groups, If we use karpenter ?

    • @AntonPutra
      @AntonPutra  16 днів тому

      you still need to run the karpenter controller somewhere, right?

    • @itsnotaytchannel
      @itsnotaytchannel 15 днів тому

      @@AntonPutra Yeah !! Thanks Man

  • @George-mk7lp
    @George-mk7lp 4 місяці тому

    @Anton Putra 7:12 does karpenter node creates a separate node than managed node ? if so looking at deployment yaml I don't understand how does it understand which node to pick up

    • @AntonPutra
      @AntonPutra  4 місяці тому +1

      Karpenter creates standalone EC2 instances and adds them to the Kubernetes node pool. On the other hand, the autoscaler uses AWS Auto Scaling groups.

  • @ADV-IT
    @ADV-IT Місяць тому

    thx

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

    It didnt work for me. The nodes dont scale and the pods keeps in pending state. help !

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

      Well, EKS evolves, and they may have introduced some breaking changes, or you might have misconfigured something. It's hard to say. You need to start from looking for error messages in the karpenter controller.

  • @hachastico674
    @hachastico674 4 місяці тому +1

    super nice

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

    👉 How to Manage Secrets in Terraform - ua-cam.com/video/3N0tGKwvBdA/v-deo.html
    👉 Terraform Tips & Tricks - ua-cam.com/video/7S94oUTy2z4/v-deo.html
    👉 ArgoCD Tutorial - ua-cam.com/video/zGndgdGa1Tc/v-deo.html

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

    Thanks for the video! I am running this on a pipeline. Is there a better way to execute the provisioner.yaml file without creating in the cluster right after creating karpenter? I want to be able to manage everything through pipeline without any manual step of logging to the cluster from command line. Thanks

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

      Sure, you can use helm terraform provider for example, or kubectl provider

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

    I may have found out how to get my graviton nodes in eks but similar to fargate provisioning? Will see.

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

      try this - github.com/antonputra/tutorials/blob/main/lessons/150/terraform/7-nodes.tf#L48-L49

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

    Its very usefull😊

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

    What will happen if on same cluster I have cluster autoscaler installed? Which component will handle the node scaling if both of them are deployed?

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

      you'll get race condition =) don't do it

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

    Thanks for your effort ! At 7:18, how can we configure without giving resources ? I want to scale up while pod is running actually.

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

      You don't have to (but should), if newly created pods stuck in pending state, karpenter increase resources to fit those pods.

  • @MasroorAhmad-me1ve
    @MasroorAhmad-me1ve 6 місяців тому

    how to tag ec2 instance launch by karpenter

    • @AntonPutra
      @AntonPutra  6 місяців тому

      take a look at EC2NodeClass custom resource - github.com/aws/karpenter-provider-aws/blob/main/examples/v1beta1/general-purpose.yaml#L34C7-L34C19

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

    🔴UPDATED🔴 How to create EKS Cluster using Terraform MODULES (AWS Load Balancer Controller + Autoscaler + IRSA) - ua-cam.com/video/kRKmcYC71J4/v-deo.html

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

    Nice tutorial I will try to implement it.

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

    Thanks!

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

    So fast

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

      on purpose, you can find code and commands in description