Gunaseela Perumal M’s Post

View profile for Gunaseela Perumal M, graphic
Gunaseela Perumal M Gunaseela Perumal M is an Influencer

Vice President - Cloud Engineering | Kubernetes | SRE | AI Enthusiast | Goldman Sachs | IIM Bangalore | LinkedIn Top Voice

𝗞𝘂𝗯𝗲𝗿𝗻𝗲𝘁𝗲𝘀 𝘀𝗰𝗮𝗹𝗶𝗻𝗴 𝗘𝗳𝗳𝗶𝗰𝗶𝗲𝗻𝗰𝘆 𝘄𝗶𝘁𝗵 𝗞𝗮𝗿𝗽𝗲𝗻𝘁𝗲𝗿 𝗪𝗵𝗮𝘁 𝗶𝘀 𝗞𝗮𝗿𝗽𝗲𝗻𝘁𝗲𝗿?           Karpenter is an 𝙤𝙥𝙚𝙣-𝙨𝙤𝙪𝙧𝙘𝙚 𝙆𝙪𝙗𝙚𝙧𝙣𝙚𝙩𝙚𝙨 𝙖𝙪𝙩𝙤𝙨𝙘𝙖𝙡𝙚𝙧 𝙩𝙝𝙖𝙩 𝙙𝙮𝙣𝙖𝙢𝙞𝙘𝙖𝙡𝙡𝙮 𝙖𝙙𝙟𝙪𝙨𝙩𝙨 𝙩𝙝𝙚 𝙘𝙡𝙪𝙨𝙩𝙚𝙧’𝙨 𝙘𝙤𝙢𝙥𝙪𝙩𝙚 𝙘𝙖𝙥𝙖𝙘𝙞𝙩𝙮 based on the workload requirements. It aims to provide a more flexible and efficient solution for managing the scaling needs of Kubernetes clusters. It is primarily built to work with Amazon Web Services (AWS) on its Elastic Kubernetes Service (EKS) or Self Managed Kubernets services. 𝗪𝗵𝗮𝘁 𝗶𝘀 𝗖𝗹𝘂𝘀𝘁𝗲𝗿 𝗮𝘂𝘁𝗼𝘀𝗰𝗮𝗹𝗲𝗿 𝗮𝗻𝗱 𝘄𝗵𝗮𝘁𝘀 𝗮𝗿𝗲 𝘁𝗵𝗲 𝗹𝗶𝗺𝗶𝘁𝗮𝘁𝗶𝗼𝗻𝘀?           Before Karpenter, Kubernetes users relied on Amazon EC2 Auto Scaling groups and the Kubernetes Cluster Autoscaler (CAS) to dynamically adjust their clusters’ compute capacity. However, it comes with limitations. 𝗖𝗔𝗦 𝗟𝗶𝗺𝗶𝘁𝗮𝘁𝗶𝗼𝗻𝘀 🔶 𝗩𝗼𝗹𝘂𝗺𝗲 𝗡𝗼𝗱𝗲 𝗔𝗳𝗳𝗶𝗻𝗶𝘁𝘆 𝗖𝗼𝗻𝗳𝗹𝗶𝗰𝘁- For Stateful workloads, EKS uses EBS and EBS are zonal specific and can be attached to the EC2 in the same Zone only. CAS does not account for it by default and requires creating multiple auto-scaling groups specific to the zone, which is hard to manage. 🔶 𝗜𝗻𝗮𝗯𝗶𝗹𝗶𝘁𝘆 𝘁𝗼 𝗵𝗮𝗻𝗱𝗹𝗲 𝗱𝗶𝘃𝗲𝗿𝘀𝗲 𝘄𝗼𝗿𝗸𝗹𝗼𝗮𝗱𝘀: Traditional auto scalers often struggle to effectively balance resource needs when dealing with workloads that have varying resource requirements. 𝗪𝗵𝘆 𝗞𝗮𝗿𝗽𝗲𝗻𝘁𝗲𝗿?           Karpenter directly interacts with the EC2 Fleet API to manage EC2 instances. This allows Karpenter to provision nodes quickly and adaptively, based on actual workload requirements. It’s capable of scheduling pods on a variety of instance types and architectures, optimizing resource usage and cost-efficiency. Additionally, Karpenter considers the availability zone of EBS volumes when scheduling pods, avoiding the issue of orphaned nodes.           Karpenter applies three layers of constraints (bin-packing, Kubernetes constraints such as NodeSelector and affinities, EC2 pricing models, and availability) to select the right EC2 instance types. 🔶 𝗕𝗶𝗻-𝗽𝗮𝗰𝗸𝗶𝗻𝗴 𝗳𝗼𝗿 𝗯𝗲𝘁𝘁𝗲𝗿 𝗿𝗲𝘀𝗼𝘂𝗿𝗰𝗲 𝘂𝘁𝗶𝗹𝗶𝘇𝗮𝘁𝗶𝗼𝗻: Karpenter batches pending pods and then bin-packs them based on CPU, memory, and GPU requirements. 🔶 𝗘𝗳𝗳𝗶𝗰𝗶𝗲𝗻𝘁 𝗶𝗻𝘀𝘁𝗮𝗻𝗰𝗲 𝘁𝘆𝗽𝗲 𝘀𝗲𝗹𝗲𝗰𝘁𝗶𝗼𝗻: Karpenter leverages the EC2 Fleet and Spot Fleet APIs to evaluate all instance types, selecting the best node type for the pods. 🔶 𝗣𝗿𝗶𝗰𝗲 𝗖𝗮𝗽𝗮𝗰𝗶𝘁𝘆 𝗢𝗽𝘁𝗶𝗺𝗶𝘇𝗲𝗱 𝗔𝗹𝗹𝗼𝗰𝗮𝘁𝗶𝗼𝗻 𝗦𝘁𝗿𝗮𝘁𝗲𝗴𝘆: The node provisioner uses cost-optimization strategies for both on-demand capacity and spot instances, combining the least interrupted and lowest price options. To read more - https://lnkd.in/gxjaGFnq #kubernetes #AWS #Cloud #SRE #Containerization

  • No alternative text description for this image
Mike Pihosh

Looking to Enhance Your LinkedIn Engagement? Heet.ai Has You Covered (Get a Free Trial)

2mo

Great insights, Gunaseela! 🌟 How about cost implications?

Like
Reply

To view or add a comment, sign in

Explore topics