Kubernetes Node Autoscaling with Karpenter (AWS EKS & Terraform)

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

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

  • @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]: ruclips.net/p/PLiMWaCMwGJXnKY6XmeifEpjIfkWRo9v2l&si=wc6LIC5V2tD-Tzwl

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

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

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

    Get Full-Length High-Quality DevOps Tutorials for Free - Subscribe Now! - ruclips.net/user/AntonPutra

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

    👉 How to Manage Secrets in Terraform - ruclips.net/video/3N0tGKwvBdA/видео.html
    👉 Terraform Tips & Tricks - ruclips.net/video/7S94oUTy2z4/видео.html
    👉 ArgoCD Tutorial - ruclips.net/video/zGndgdGa1Tc/видео.html

  • @AntonPutra
    @AntonPutra  2 года назад +1

    🔴UPDATED🔴 How to create EKS Cluster using Terraform MODULES (AWS Load Balancer Controller + Autoscaler + IRSA) - ruclips.net/video/kRKmcYC71J4/видео.html

  • @pratapkorlepara3688
    @pratapkorlepara3688 Год назад +2

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

  • @ADV-IT
    @ADV-IT 3 месяца назад +1

    thx

  • @ricardopcunha
    @ricardopcunha 2 года назад +1

    Thanks!

  • @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.

  • @armanfeyzi6311
    @armanfeyzi6311 9 месяцев назад +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  9 месяцев назад +2

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

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

    Many thanks for the tutorial you are a life saver.

  • @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 Год назад

    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  Год назад +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.

  • @chapaya100
    @chapaya100 5 месяцев назад +1

    Super 🎉

  • @hachastico674
    @hachastico674 6 месяцев назад +1

    super nice

  • @safweneyahyaoui1397
    @safweneyahyaoui1397 3 месяца назад

    Its very usefull😊

  • @George-mk7lp
    @George-mk7lp 6 месяцев назад

    @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  6 месяцев назад +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.

  • @黄河-c3g
    @黄河-c3g Месяц назад

    Hop introduce ne w features like node calsss, pod identity

  • @itsnotaytchannel
    @itsnotaytchannel 2 месяца назад +1

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

    • @AntonPutra
      @AntonPutra  2 месяца назад +1

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

    • @itsnotaytchannel
      @itsnotaytchannel 2 месяца назад

      @@AntonPutra Yeah !! Thanks Man

  • @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.

  • @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.

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

    Nice tutorial I will try to implement it.

  • @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

  • @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

  • @MasroorAhmad-me1ve
    @MasroorAhmad-me1ve 8 месяцев назад

    how to tag ec2 instance launch by karpenter

    • @AntonPutra
      @AntonPutra  8 месяцев назад

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

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

    So fast

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

      on purpose, you can find code and commands in description