Karpenter vs Kubernetes Cluster Autoscaler
Вставка
- Опубліковано 29 лис 2021
- How is Karpenter different from the cluster autoscaler?
We'll show some of the differences here and you can read more at karpenter.sh
#kubernetes #aws #karpenter - Наука та технологія
loved the way you explained the arguably very confusing topic, a very unique and fun approach for explaining difficult concepts.
"Crash Back Loop" hahaha. Thank you so much Justin.
haha!
wow never saw anyone explaining complicated stuff with this aproach great video..
Wow! I appreciate the time you took to make this very practical. Those balls of various sizes and the bows made a better impact to my understanding of the involved dynamics. Great video
Thank you for making technical explanations fun and easy to digest
This video is fire. Thanks Justin for taking the time to dumb down / explain for the layman. Nice job
Thank you for all your efforts , this is the best explanation , how exactly I can understand visually, keep it coming with more concepts please
A well thought out video.
thank you for your fantastic attempt to explain this concept
Amazing Garrison , great explanation and easy to understand everyone
Excellent explanation, thanks for your efforts in thinking different way to explain this concept!
Thanks Justin for making it so easy to understand. Cheers 😊
The best explanation I could have heard!!!
AMAZING!
Amazing video! You made everything so crystal clear and fun!
Thanks for explaining with such an easy demonstration
Great explanation! love the demo!
Great explanation! crystal clear and fun
Awesome explanation! Nice to see your 100 pods node :P . Thanks Justin.
Genius. Best ever sw demo I have ever seen.
the point is very clear, thanks for the video.
awesome man u taught over the streets like a frnd taught us
Subscribed for the effort you put in 👍
This is a fun and amazing explanation. I could not stop laugh when a ball fell out and he said 'crashbackloop' 😁
thanks, very creative the way how you explain the things.
Perfect high level explanation!
Awesome and nicely explained🎉
Amazing explanation! 👏👏👏
Good. I learned the difference between a karpenter and CA.
Woooooo "Crash Loop Back" killed me. That was fantastic.
Best in the best Explanation ❤😊
video is amazing very easy of understand.
Amazing explanation man
Very cool and funny explanation!
excellent explanation!
Very very well explained.
amazing explanation
Such a awesome job.
wow.. nice demo :-).. great..
Super explained
such a clever way to explain a complex concept! Thanks Justin. I got the point that Karpenter doesn't rely on pre-configured instance type. I am curious how Karpenter will determine the instance type. Will it just choose few big instances instead of many small instances for the unscheduled pod ?
From what I understood and tried, it goes by batches. So if you come with a lot of pods to schedule at once it will fit them all in a big instance, if you come with a few pods at once it will take a smaller instance.
According to resource requests it will choose a bunch of satisfying instance types and ask aws for the cheapest.
Test done by scaling a basic nginx deployment to different numbers:
With 30 replicas, karpenter spins up a t3a.small eks node.
With 100 replicas, karpenter spins up a c4a.4xlarge eks node.
Keep in mind that there's also the node pod capacity that can induce new nodes creation even if there are available resources (I was surprised it needed a new node for nginx pods with all the available CPU & mem, but turns out the m6g.medium instances I was using have an 8 pod limit capacity)
It will find the cheapest available instance type based on the workload requirements and batch size. With cluster rebalancing it'll even calculate what has changed and make sure the cluster is running with optimal utilization and low cost
Amazing!
very nice video.
You're fantastic.
This is most easy explanation i ever saw ever for Karpenter, keep up the good work !
Amazing
Wow !! Simple and easy explanation. Thanks.
Where do I get that Infinidash t-shirt? Great video BTW
Very nice! Does it also work with hpa during high loads?
Yep! HPA creates new pods. The scheduler will try to place them. If it fails Karpenter will create new nodes.
thanks bro
Justin, this was an amazing explanation. I have a doubt though. Does Karpenter also re adjust pod placement on nodes for better utilisation of nodes and to conserve space and cost during auto scaling ?
Not for now.
The node expiration does it indirectly: when an underused node is terminated by karpenter upon expiration, the pods to reschedule will use an existing node if available capacity, if not it will recreate a node accordingly.
Node consolidation is out now ua-cam.com/users/shortsxX3aBgpY3B4?feature=share
Oops "crashloopbackoff"! That was hilarious.
Great explanation about Karpenter and Cluster Autoscaler. Can you let me know for an EKS cluster having both Karpenter and Cluster Autoscaler enabled at the same time, will there be a race condition between them to scale or de-scale instances when there is huge Unscheduled pods or Unused nodes to terminate.
Yes, if you don’t limit the scope of nodes Karpenter or CAS are controlling you will have race conditions. You can do that by specifying node groups for CAS and provisioner labels for Karpenter
WOW just WOW
Great video thanks. But that last example you have shown goes against the high availability concept since it is a single point of failure.
For some workloads a single point of failure is acceptable. With Karpenter it’s up to the application to decide
This guy has balls
City is in fire and you are recording a tutorial 😁
@Justin Garrison I watched a video for you where you demoed Karpenter. You said something about a blog for a company called strike or spike that reduced cost by using on demand ec2 for their baseline workloads and spot for what exceeds that.
Can you share a link for that?
I remember reading that article but don’t remember the company, sorry
@@JustinGarrison no worries, thank you for your response, do you happen to remember any useful docs that shed light on how to set a provisioner to handle your baseline workloads with on demand instances and provision spot instances for what exceeds that?
So the difference is Karpenter (talks to nodes) vs Cluster Autoscaler (talks on nodegroup level)?
Roughly, yes. There’s a lot of assumptions made with node groups and more control (and requirements) talking to nodes
Is it possible to use Karpenter with "kubeadm k8s cluster", other than the EKS.
Yes, it works with any Kubernetes cluster running in AWS (not just EKS)
@@JustinGarrison Thanks for the info.
So so Aws
CRASHLOOPBACK!!! LOL
I was at work and nobody belived in me when I said I was studying
What about a situation when someone fucks up their deployment manifest and deploys to cluster ?
As an administrator I have cost constraints on top of business requirements and on top of devs requirements.
And as a K8S Operator of Multi-Tenant clusters you have to make sure the workloads have strictly defined requests and limits that match what you signed with customer -> you can use OPA for that but still deploying something without "Why" question is open for abuse.
If you deploy something that just looks at workload and provisions without asking a "why the fuck you need 50 RTX3090 EC2?" instances -> you are a great source of exploitation.
The provisioners can set limits in multiple dimensions. You can set caps at instance types, total number of CPU/memory and other options. It's possible to set up provisioners per namespace (if that's how dev teams are separated) and restrict what instances teams can deploy
oh, sorry, I just keep worrying you would run out the balls 😂
This video is a serious take on the current state of technology? What could go wrong... This is like needing surgery, and someone in a clown outfit is your surgeon and he explains things by squeaking his nose and juggling balls.
Everyone learns differently and have you ever seen Bill Nye, Alton Brown, or Patch Adams?