loved the way you explained the arguably very confusing topic, a very unique and fun approach for explaining difficult concepts.
@mightGalaxyBlackhole Жыл бұрын
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
@andrewmosiane37093 жыл бұрын
"Crash Back Loop" hahaha. Thank you so much Justin.
@raulsalamanca63733 жыл бұрын
haha!
@rorschach32856 ай бұрын
That was hilarious!
@ankkitraj26259 ай бұрын
wow never saw anyone explaining complicated stuff with this aproach great video..
@VANTYCSolutions8 күн бұрын
Please create a complete course with this awesome method. 👏
@JustinGarrison8 күн бұрын
I made an EKS course with KodeKloud. It's not using props. All of my prop-based education is in my KZbin shorts on my old channel @containersfromthecouch
@diogoelias5700 Жыл бұрын
The best explanation I could have heard!!! AMAZING!
@PrakashReddyK Жыл бұрын
Thank you for all your efforts , this is the best explanation , how exactly I can understand visually, keep it coming with more concepts please
@Huytn-122 жыл бұрын
Thank you for making technical explanations fun and easy to digest
@joshreji7510 Жыл бұрын
A well thought out video. thank you for your fantastic attempt to explain this concept
@laurentchriqui1383 жыл бұрын
Amazing video! You made everything so crystal clear and fun!
@bhaskar6705 Жыл бұрын
Amazing Garrison , great explanation and easy to understand everyone
@thetechcentre Жыл бұрын
the point is very clear, thanks for the video.
@מקסיםק Жыл бұрын
Perfect high level explanation!
@drumming-yossi2 жыл бұрын
Genius. Best ever sw demo I have ever seen.
@gumtea2 жыл бұрын
Thanks Justin for making it so easy to understand. Cheers 😊
@HafizAqibFaizi Жыл бұрын
Awesome explanation! Nice to see your 100 pods node :P . Thanks Justin.
@shamstabrez29862 жыл бұрын
awesome man u taught over the streets like a frnd taught us
@colochoghost8610 ай бұрын
thanks, very creative the way how you explain the things.
@__nathan2 жыл бұрын
Woooooo "Crash Loop Back" killed me. That was fantastic.
@SunitRandhawa3 жыл бұрын
Thanks for explaining with such an easy demonstration
@chengjohnny5228 Жыл бұрын
This is a fun and amazing explanation. I could not stop laugh when a ball fell out and he said 'crashbackloop' 😁
@JoshuaMcQueen3 жыл бұрын
This video is fire. Thanks Justin for taking the time to dumb down / explain for the layman. Nice job
@frankfan40293 жыл бұрын
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 ?
@TheMeowex2 жыл бұрын
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)
@JustinGarrison2 жыл бұрын
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
@lokeshm15052 жыл бұрын
Excellent explanation, thanks for your efforts in thinking different way to explain this concept!
@soumyadipchatterjee226711 ай бұрын
Best in the best Explanation ❤😊
@MaxDevil1989 Жыл бұрын
amazing explanation
@rogerior315 Жыл бұрын
Amazing explanation! 👏👏👏
@david2358 Жыл бұрын
Subscribed for the effort you put in 👍
@mranonymous_4728 Жыл бұрын
This is most easy explanation i ever saw ever for Karpenter, keep up the good work !
@zhangpeng5938 Жыл бұрын
Good. I learned the difference between a karpenter and CA.
@eswarduraisamy1307 Жыл бұрын
Awesome and nicely explained🎉
@bhuvanchandmaddi800 Жыл бұрын
Amazing explanation man
@ilkinmammadzada5126 Жыл бұрын
excellent explanation!
@snygg-johan99583 жыл бұрын
Very nice! Does it also work with hpa during high loads?
@JustinGarrison2 жыл бұрын
Yep! HPA creates new pods. The scheduler will try to place them. If it fails Karpenter will create new nodes.
@JackReacher1 Жыл бұрын
So the difference is Karpenter (talks to nodes) vs Cluster Autoscaler (talks on nodegroup level)?
@JustinGarrison Жыл бұрын
Roughly, yes. There’s a lot of assumptions made with node groups and more control (and requirements) talking to nodes
@anilmavarkar42 жыл бұрын
Great explanation! crystal clear and fun
@user-dw3vk6ji1i Жыл бұрын
@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?
@JustinGarrison Жыл бұрын
I remember reading that article but don’t remember the company, sorry
@user-dw3vk6ji1i Жыл бұрын
@@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?
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.
@JustinGarrison Жыл бұрын
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
@abdullahmustaqeemsketches2 жыл бұрын
Very very well explained.
@anishkumar-pz6bl2 жыл бұрын
Such a awesome job.
@dirien3 жыл бұрын
Very cool and funny explanation!
@sureshadapa7194 Жыл бұрын
Super explained
@thePribs3 жыл бұрын
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 ?
@shivacool273 жыл бұрын
Not for now.
@TheMeowex2 жыл бұрын
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.
@JustinGarrison2 жыл бұрын
Node consolidation is out now kzbin.infoxX3aBgpY3B4?feature=share
@flavmusic2 жыл бұрын
You're fantastic.
@abdi14 Жыл бұрын
Great video thanks. But that last example you have shown goes against the high availability concept since it is a single point of failure.
@JustinGarrison Жыл бұрын
For some workloads a single point of failure is acceptable. With Karpenter it’s up to the application to decide
@KevinHoman3 жыл бұрын
Where do I get that Infinidash t-shirt? Great video BTW
@joeblue2413 жыл бұрын
Is it possible to use Karpenter with "kubeadm k8s cluster", other than the EKS.
@JustinGarrison2 жыл бұрын
Yes, it works with any Kubernetes cluster running in AWS (not just EKS)
@joeblue2412 жыл бұрын
@@JustinGarrison Thanks for the info.
@ranjitpradhan79153 жыл бұрын
Oops "crashloopbackoff"! That was hilarious.
@KarthikShanmugamkoundy2 жыл бұрын
Wow !! Simple and easy explanation. Thanks.
@hilal8902 жыл бұрын
Amazing!
@heyjiqing27542 жыл бұрын
Amazing
@thiyagarajan_elangovan3 жыл бұрын
wow.. nice demo :-).. great..
@rishabhmaurya41692 жыл бұрын
thanks bro
@PhaseTw02 жыл бұрын
This guy has balls
@moryosef54232 жыл бұрын
very nice video.
@ehsanShirzadi2 жыл бұрын
City is in fire and you are recording a tutorial 😁
@jiaruitian677 Жыл бұрын
oh, sorry, I just keep worrying you would run out the balls 😂
@gabrieldavidorozcourrutia7589 Жыл бұрын
I was at work and nobody belived in me when I said I was studying
@danielhd67192 жыл бұрын
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.
@JustinGarrison2 жыл бұрын
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
@lunno64 Жыл бұрын
So so Aws
@everettkleven9086 Жыл бұрын
CRASHLOOPBACK!!! LOL
@J.erem.y Жыл бұрын
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.
@JustinGarrison Жыл бұрын
Everyone learns differently and have you ever seen Bill Nye, Alton Brown, or Patch Adams?