Free AssessmentHow AI-mature is your organization? Take the test and find out.
← Articles/No. 348 · Kubernetes

New Feature: Instance Type Filtering in Karpenter

We're excited to announce a significant enhancement to Karpenter, an intelligent Kubernetes autoscaling solution that automatically optimizes your infrastructure costs and performance. Since integrating Karpenter six months ago, it has helped our users automatically provision the right AWS instances for their workloads. Today, we're taking this automation to the next level by introducing Instance Type Filtering, giving you precise control over which AWS instances Karpenter can use when scaling your applications.

Romaric Philogene
CEO & Co-founder
NOV 20, 2024 · 3 MIN
New Feature: Instance Type Filtering in Karpenter

What is Karpenter?

For those new to our platform, Karpenter is an open-source node provisioning project that revolutionizes how Kubernetes clusters scale. Unlike traditional autoscalers that work with predefined node groups, Karpenter dynamically provisions exactly the right compute resources based on your workload demands.

Here's what makes Karpenter special:

Qovery · Kubernetes for the AI era
Simplify Kubernetes - for humans and AI agents
Learn more
  • It can launch nodes in seconds when your applications need them
  • It automatically finds the most cost-effective instance types for your workloads
  • It removes nodes when they're no longer needed, helping you save costs
  • It can handle diverse workload requirements, from CPU-intensive tasks to memory-heavy applications

With Karpenter, you no longer need to pre-provision node groups or worry about over/under-provisioning - it handles all of this automatically. Discover more about Karpenter.

Introducing Instance Type Filtering

With our latest update, you can now restrict the types of instances Karpenter uses to deploy your applications. This feature provides two key benefits:

  1. Reduce Node Count: By using larger instances, you can consolidate your workloads onto fewer nodes, simplifying management and potentially reducing costs.
  2. Family-Specific Deployments: You can now limit deployments to specific EC2 instance families, ensuring your applications run on hardware that meets their specific requirements.

See it in action ⬆️

How to Use Instance Type Filtering

The new filtering feature is available in the Cluster settings for all clusters with Karpenter enabled. You can filter instances based on:

  • Architecture: Choose between AMD64 and ARM64
  • Size: From small to 32xlarge instances
  • Categories/Families: Select from various optimized instance families including: Compute Optimized Storage Optimized Accelerated Computing and more

You can filter the type of instances on multiple criteria (CPU arch type, size, categories of instances..)
You can filter the type of instances on multiple criteria (CPU arch type, size, categories of instances..)

The visual filter interface makes it easy to select exactly which instance types you want to use, with real-time feedback showing you how many instance types match your criteria.

Agents ship fast. Guardrails keep them safe.
Qovery ensures every agent action is scoped, audited, and policy-checked. Start deploying in under 10 minutes.
Try Qovery free

Coming Soon: Consolidation Scheduling

We're not stopping here! We're already working on the next major feature for Karpenter: Consolidation Scheduling. This upcoming feature will allow you to optimize your NodePool hosting during specific time windows.

Figma Design for Karpenter Consolidation Feature
Figma Design for Karpenter Consolidation Feature

You'll be able to:

  • Set specific days for consolidation (e.g., Monday, Friday, Saturday, Sunday)
  • Define precise start times for the consolidation process
  • Set the duration of the consolidation window

This feature will be particularly useful for optimizing costs during off-peak hours while maintaining performance during high-traffic periods.

Getting Started

To start using Instance Type Filtering:

  1. Navigate to your cluster's settings
  2. Ensure Karpenter is enabled for your cluster
  3. Look for the "Instance types scope" section
  4. Click "Edit" to access the visual filter interface
  5. Select your desired architectures, sizes, and instance families
  6. Save your changes

Clusters > Select Your Cluster with Karpenter > Resources Tab
Clusters > Select Your Cluster with Karpenter > Resources Tab

Remember to review the IAM permissions warning and ensure your Qovery user has the correct permissions before deploying your cluster with these new settings.

Conclusion

Instance Type Filtering is a powerful addition to Karpenter that gives you more control over your Kubernetes infrastructure while maintaining the simplicity and efficiency that Karpenter is known for. We're excited to see how you'll use this feature to optimize your deployments, and we look forward to bringing you more improvements in the future.

Try out Instance Type Filtering today and let us know what you think! And stay tuned for the upcoming Consolidation Scheduling feature that will bring even more optimization capabilities to your clusters.

Romaric Philogene
About the author
Romaric Philogene

Romaric founded Qovery to make Kubernetes accessible to every engineering team. He writes about platform strategy, developer experience, and the future of cloud infrastructure.

Next step

Agents ship fast. Guardrails keep them safe.

Qovery ensures every agent action is scoped, audited, and policy-checked. Start deploying in under 10 minutes.