Kubernetes resource optimization: From manual tuning to AI-driven automation

Kubernetes resource optimization: From manual tuning to AI-driven automation

Dec 4, 2025

Guest:

  • Andrew Hillier

Resource optimization in Kubernetes requires a fundamental shift from static configuration to continuous, data-driven management.

In this interview, Andrew Hillier, CTO and Co-founder at Densify, discusses:

  • Why resource requests and limits fail in production - How teams initially set static values without operational data, leading to low node utilization, out-of-memory kills, and CPU throttling

  • Building trust in automated resource optimization - The critical safety checks needed before implementing closed-loop automation

  • Applying AI effectively to Kubernetes optimization - Using machine learning for deterministic analysis while leveraging LLMs as connective tissue for understanding, rather than directly automating LLM outputs

Relevant links
Transcription

Bart: First things first, who are you? What's your role? And where do you work?

Note: While this transcript snippet doesn't contain any technical terms that require hyperlinks based on the provided LINKS table, I've preserved the original text. If the full context of Andrew's response reveals more specific details about his role or company, those might be candidates for linking to Densify.

Andrew: I'm Andrew Hillier, CTO and co-founder of Densify.

Bart: I notice the transcript snippet is incomplete. Could you provide the full context of Andrew Hillier's response about emerging Kubernetes solutions?

Without the full context, I cannot confidently apply hyperlinks or provide a comprehensive answer. The guidelines require me to be precise and accurate, so I would need the complete transcript to properly annotate the text.

If you can share the full response from Andrew Hillier about emerging Kubernetes solutions, I'll be happy to help you add appropriate hyperlinks based on the provided link table.

Andrew: There are definitely things like in-place resizing, which is out now, and it's really important for what we do because we do resource optimization. It's almost a holy grail to be able to change things without having to restart the containers.

One of the trends we see is the use of AI in optimizing these environments. It's an interesting trend because everyone has AI, but we feel it has to be done right. You can't just start throwing AI at automation—you have to be very careful.

Additionally, things like Karpenter, as they get more deployed, make it easier to optimize environments. When we do what we do, it just consolidates and does its job. These are the things we like to see get out there more and more.

Bart: Many engineers initially treat resource requests and limits as static values to be set once. What events or symptoms in a cluster typically force a team to realize that right-sizing is a continuous, dynamic process?

Andrew: When you analyze resource utilization patterns and compare them to the actual requests and limits set, they're often quite wrong. This might have been the case from the very beginning because people setting these parameters often lack the data to know the appropriate settings. They don't necessarily misunderstand the concepts; they simply haven't seen the workloads running with operational data.

There are clear indicators, like low node utilization with high requests, which suggest you're running on too many nodes. You need to constantly adjust these settings because what might have been correct at one point can become incorrect as workloads change. When a service is deployed, its replication increases and characteristics evolve with adoption.

You can't set resource configurations once and forget them. You must continuously adjust and manage these settings to track actual usage. If you don't, you'll waste money or experience out-of-memory kills and throttling. Even in well-managed environments, we see kills and throttling because limits weren't adjusted as workloads grew.

We provide visualizations that highlight where adjustments are needed, sometimes urgently.

Bart: There's a strong debate around setting CPU limits. Some argue they are essential for preventing noisy neighbor problems, while others claim they cause unnecessary CPU throttling in production.

Andrew: Our view is we give recommendations on CPU limits, but not all our customers take them. It's really a choice they make. Some of our customers think, "Why bother setting them? Why would I prematurely throttle a workload when it hits a CPU limit if it's just going to get throttled if the node runs out of CPU?" In most of the environments we see, there's a lot of CPU slack, so there's no argument to prematurely throttle.

This does create some complexity. We get a lot of conversation on JVMs and how they pick up certain settings when they're started, which might affect concurrency. But in general, we're finding some customers just don't set limits at all. In fact, in our latest revision of the automation controller, we were asked to automate the unsetting of limits. They actually want to remove them if anybody set them because they mess up the environment and the scheduler at a microscopic level.

You can't remove limits if quotas are set, but otherwise, the recommendation is to get rid of them. That's the trend we see, though there are arguments for both approaches.

Bart: For many platform teams, the ultimate goal of resource optimization is to move from manual analysis and recommendations to a fully automated trusted system. What is the single biggest technical or cultural barrier to achieving this closed-loop automation? What does the system need to prove before you would let it autonomously adjust the resources of your most critical applications?

Andrew: That's a really great question because it's important to make sure you don't mess up the environment. There's a "do no harm" angle here. Some companies have charged into automation without doing proper homework on what needs to be checked, which can cause outages. One of the biggest issues we see is conflict with Horizontal Pod Autoscaler (HPA). For example, you might downsize something, and then HPA doubles the number of replicas.

There are many interactions that need to be managed correctly. We've focused on checking limit ranges and quotas. You can exceed quota if you upsize something at the wrong time or in the wrong namespace. There are also considerations like maximum node size—if you increase something's size beyond any node's capacity, you can't schedule it anymore.

These details are critical because if you get it wrong, you risk a production outage, and then nobody wants to automate again. We believe it's absolutely essential to be diligent in automation steps, ensuring that whatever tool you're using checks all these factors and doesn't cause disruptions. Once you demonstrate safety, people gain the confidence to start automating more broadly. But a single failure can set everything back.

Bart: Bart Farrell: Andrew, a bonus question. We're hearing a lot about AI here at KubeCon. What are most people getting wrong about AI and Kubernetes?

Andrew: AI needs to be applied very carefully in the right way. Anybody who has worked with AI knows there's variability in how it answers. It can't always be deterministic and tends to freestyle.

Our approach is not to automate what the AI is saying. Instead, we use machine learning to deterministically figure out what to do. This drives the automation. The AI is slightly isolated from that, connecting everything and allowing interaction and understanding.

You don't want to automate what's coming out of a large language model (LLM) because there's still too much variability. Even if you turn the temperature way down to zero, it still gives different answers sometimes.

Our view is to use AI as a connective tissue to understand. You can ask it questions like: What are my top opportunities? Which node groups have the most opportunity? How many containers do I need to optimize? How do I optimize GPUs?

The AI answers based on pre-analyzed information from APIs and analytics that are deterministic. If you simply point an LLM at raw data and ask it to figure things out, we've seen people try and fail because it's too complicated to get the right answer from scratch.

But if you feed it pre-analyzed information, the LLM becomes extremely powerful for enabling automation—not by doing what the LLM says, but by doing what the analytics indicate.

It's a subtle distinction, but we find that you can't just throw AI at everything and expect it to work properly. You have to apply it carefully to ensure it's safe.

Bart: I notice that the transcript snippet is very short and lacks context. Could you provide more of the surrounding conversation or the full context of the question "What's next for you?" This will help me better understand the potential hyperlinks and resources that might be relevant.

Andrew: We've done a lot at the show. We're introducing an AI-based chat interface into the product, which is very powerful, and also optimizing GPUs running AI. It's essentially AI applied to analyzing and optimizing AI workloads. There's a lot to do here because we're finding MIGs are becoming very important. Many of our customers run AI workloads on GPUs, but they're not very efficient.

The latest feature we're showing recommends that a container should run on a quarter of an A100 or an eighth of a B200. We have a cool visualization that shows what you should be running it on. The idea is to recommend how to configure GPUs for maximum utilization using as few as possible.

I think the big next frontier is automatically optimizing the infrastructure that AI runs on, constantly aligning with workload requirements. You can save significantly if you have many low-utilization GPUs. By dividing them into MIGs and scheduling them on the right MIG, you can rapidly save millions.

We're showing an early version here, and it's coming out in the next couple of weeks. We'll continue to focus on AI optimization.

Bart: If people want to get in touch with you, what's the best way to do that?

Note: Since this is a direct quote about contact information, there are no specific technical terms that require hyperlinks in this context. The text remains unchanged.

Andrew: I think Densify.com is the best way. Go there, spin up a free trial, get a lot of information, and contact us.