Skip to content

AWS re:Invent 2024 - Simplify Kubernetes workloads with Karpenter & Amazon EKS Auto Mode

6 minute read
Content level: Advanced
0

This blog post summarizes key highlights from the AWS re:Invent 2024 session "Simplify Kubernetes workloads with Karpenter & Amazon EKS Auto Mode" presented by Rajdeep Saha and Sheetal Joshi, both Principal Solutions Architects at AWS. We'll explore the evolution of Kubernetes management on AWS, dive deep into Karpenter's capabilities, and introduce the new Amazon EKS Auto Mode, highlighting how these technologies simplify container orchestration for organizations of all sizes

Ever wished running Kubernetes was as easy as pushing a button? At AWS re:Invent 2024, Rajdeep Saha and Sheetal Joshi, both top experts at AWS, shared exciting new ways to make Kubernetes much simpler to use. They talked about two powerful tools: Karpenter, which is already helping many users, and the brand-new Amazon EKS Auto Mode. This blog post will tell you all about their talk and how these tools can make your life with Kubernetes a whole lot easier.

The Evolution of Kubernetes Management on AWS

Rajdeep Saha began by explaining how Kubernetes on AWS has evolved over time. In 2018, AWS launched Amazon Elastic Kubernetes Service (Amazon EKS) to help users manage the control plane of Kubernetes. This made it easier for people to start using Kubernetes, but as more companies adopted it, new challenges appeared.

The biggest problem was managing "worker nodes" - the computers that run applications in Kubernetes. At first, people used Cluster Autoscaler to automatically add or remove nodes. But it was slow and didn't always choose the best or cheapest options. To solve this, AWS created Karpenter, an open-source tool that's much smarter at managing nodes.

Karpenter can quickly add just the right type of node when needed and remove unused ones to save money. It's become popular with many Kubernetes users, not just those on AWS, because it's so good at making node management easier and more cost-effective.

Karpenter: Making Node Management Much Easier

Saha then explained how Karpenter works and why it's so helpful: Karpenter makes adding new nodes to your Kubernetes cluster really simple. It talks directly to EC2 Fleet, which is faster than using autoscaling groups. To tell Karpenter what to do, you use two special files called NodePool and EC2NodeClass.

Karpenter can do some really cool things:

  1. It can pick the right type of computer for your apps automatically.
  2. It works great for all kinds of apps, even complex ones like AI.
  3. It's really good at saving money by packing apps efficiently and choosing the right-sized computers.
  4. It can work with spot instances without causing problems.

Saha showed how you can tell Karpenter which types of computers to use, where to put them, and even what kind of chips they should have (like x86 or Arm). He also explained that Karpenter is smart about using cheaper spot instances when it can, but it knows when to switch to regular instances if needed. One of the best things about Karpenter is how it can save money. It does this by moving apps around to use computers more efficiently and turning off ones that aren't needed. There's even a special setting called 'consolidate after' that lets you control when Karpenter does this, so it doesn't move things around too quickly.

Saha also talked about some advanced features:

  • You can set rules about when Karpenter is allowed to move or change things.
  • You can use your own custom operating systems on the computers.
  • You can tell Karpenter which types of computers or pricing options to use first.

Introducing Amazon EKS Auto Mode

Sheetal Joshi then took the stage to introduce Amazon EKS Auto Mode. Amazon EKS Auto Mode streamlines cluster infrastructure management by taking on more responsibilities under the shared responsibility model. Key benefits of Amazon EKS Auto Mode include simplified cluster setup and management, fully-managed cluster capabilities (including compute, networking, and storage), secure-by-default with automatic OS patching and upgrades, and access to a wide range of EC2 instance types, including GPU and AWS-specific silicon innovations.

Joshi explained that Amazon EKS Auto Mode uses specialized "EC2 managed instances" that run in the customer's account but are fully managed by AWS. This approach provides greater control and visibility while offloading operational overhead to AWS.

Amazon EKS Auto Mode: Deep Dive

Amazon EKS Auto Mode comes with two pre-configured node pools: General Purpose for most workloads, supporting a mix of on-demand instances and Graviton processors, and System for critical add-ons, supporting both AMD and ARM architectures. Joshi emphasized that while these default node pools are non-editable, you can create custom node pools for specific use cases, such as GPU workloads or spot instances.

A new concept introduced with Amazon EKS Auto Mode is the EKSNodeClass, which simplifies node configuration by eliminating the need for AMI selection. This abstraction lets AWS manage the lifecycle of EC2 instances fully.

One of the most significant advantages of Amazon EKS Auto Mode is its approach to Day 2 operations. The service automatically updates core cluster capabilities and data plane nodes, respecting configured disruption budgets. This process keeps clusters up-to-date and secure with minimal manual intervention.

Automatic Updates and Security

Joshi detailed how Amazon EKS Auto Mode manages updates. Core capability updates are non-blocking, letting applications continue running during the process. Data plane updates occur in a rolling fashion, respecting disruption budgets. Security updates are applied automatically, with a forced update after 21 days to maintain cluster security.

The Future of Karpenter and Amazon EKS Auto Mode

The speakers made sure to tell everyone that even though Amazon EKS Auto Mode uses ideas from Karpenter, AWS will keep working on Karpenter as a separate, open-source tool. They promised that new features made for Karpenter would also be added to Amazon EKS Auto Mode. This means both tools will keep getting better together over time.

Conclusion

Amazon EKS Auto Mode is a big step towards making Kubernetes easier to use for all kinds of companies, big and small. By performing many of the tricky cluster management tasks automatically, Amazon EKS Auto Mode helps teams spend more time building their apps and less time worrying about the infrastructure.

If you want to learn more, AWS has provided two key resources. You can read the detailed launch blog about Amazon EKS Auto Mode. For those currently using Cluster Autoscaler and looking to switch, there's a helpful migration guide to Karpenter.

For those interested in watching the full session, including detailed explanations and demonstrations from Rajdeep Saha and Sheetal Joshi, the recording is available on the AWS YouTube channel.